Как посчитать количество в строк в списке?

Подскажите, как посчитать количество строк в данном списке с помощью цикла?

mixture_list = [True, 1, -10, 'hello', False, 'string_1', 123, 2.5, [1, 2], 'another']

Ответы (4 шт):

Автор решения: Teslajke

Считаем все элементы типа str в списке:

count = 0
mixture_list = [True, 1, -10, 'hello', False, 'string_1', 123, 2.5, [1, 2], 'another']
for element in mixture_list:
    if isinstance(element, str):
        count += 1
print(count)

Думаю, все предельно ясно. Вас может смутить лишь функция isinstance , - именно она и используется для проверки того, является ли element строкой(str)

→ Ссылка
Автор решения: anton

Загорелся я стилем генератора...

count = len(None for element in mixture_list if isinstance(element, str))
→ Ссылка
Автор решения: wchistow

В функциональном стиле:

count = list(map(lambda x: isinstance(x, str), mixture_list)).count(True)
→ Ссылка
Автор решения: user510170

Можно использовать следующий вариант решения, в котором мы проверяем принадлежность элемента к встроенному типу python, в вашем случае str. Атрибут .__CLASS__ содержит ссылку на класс, к которому принадлежит объект.

mixture_list = [True, 1, -10, 'hello', False, 'string_1', 123, 2.5, [1, 2], 'another']

count=0
for i in mixture_list:
    if i.__class__==str:
        count+=1
print(count)
→ Ссылка