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

Рейтинг: 0Ответов: 4Опубликовано: 09.04.2023

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

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

Ответы

▲ 3

Считаем все элементы типа 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)

▲ 0

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

count = len(None for element in mixture_list if isinstance(element, str))
▲ 0

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

count = list(map(lambda x: isinstance(x, str), mixture_list)).count(True)
▲ 0

Можно использовать следующий вариант решения, в котором мы проверяем принадлежность элемента к встроенному типу 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)