Как посчитать количество в строк в списке?
Подскажите, как посчитать количество строк в данном списке с помощью цикла?
mixture_list = [True, 1, -10, 'hello', False, 'string_1', 123, 2.5, [1, 2], 'another']
Источник: Stack Overflow на русском
Подскажите, как посчитать количество строк в данном списке с помощью цикла?
mixture_list = [True, 1, -10, 'hello', False, 'string_1', 123, 2.5, [1, 2], 'another']
Считаем все элементы типа 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)
Загорелся я стилем генератора...
count = len(None for element in mixture_list if isinstance(element, str))
В функциональном стиле:
count = list(map(lambda x: isinstance(x, str), mixture_list)).count(True)
Можно использовать следующий вариант решения, в котором мы проверяем принадлежность элемента к встроенному типу 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)