не уверен, что это задавали раньше, но я не мог найти очевидного ответа. Я пытаюсь подсчитать количество элементов в списке, равное определенному значению. Проблема в том, что эти элементы не имеют встроенного типа. Так что, если у меня естьУсловный подсчет в Python
class A:
def __init__(self, a, b):
self.a = a
self.b = b
stuff = []
for i in range(1,10):
stuff.append(A(i/2, i%2))
Теперь я хотел бы подсчет элементов списка, поле которых Ь = 1. Я пришел с двумя решениями:
print [e.b for e in stuff].count(1)
и
print len([e for e in stuff if e.b == 1])
Какие лучший метод? Есть ли лучшая альтернатива? Кажется, что метод подсчета() не принимает ключи (по крайней мере, в Python версии 2.5.1.
Большое спасибо!
Это не является хорошей идеей назвать список как «список». – MAK
Я полностью согласен и изменил название списка. – nicolaum