Вы можете использовать цикл for для перебора всех элементов в списке и проверить, является ли каждый элемент числом или строкой с помощью функции isinstance(). Затем вы можете подсчитать количество элементов каждого типа с помощью словаря.
Вот пример кода, который считает количество чисел и строк в списке:
lst = ['a1', 4, 'a3', 5, 88, '2a', 12, 18, 'sort', 'a5']
num_count = 0
str_count = 0
for i in lst:
if isinstance(i, int):
num_count += 1
elif isinstance(i, str):
str_count += 1
print("Number of numbers in the list:", num_count) #Number of numbers in the list: 4
print("Number of strings in the list:", str_count) #Number of strings in the list: 6
Вы также можете использовать генераторы списков для создания новых списков на основе оригинального списка. Например, чтобы создать новый список, содержащий только числа, вы можете использовать следующий код:
num_list = [i for i in lst if isinstance(i, int)]
Или чтобы создать новый список, содержащий только строки, вы можете использовать следующий код:
str_list = [i for i in lst if isinstance(i, str)]