nicht sicher, dass dies zuvor gefragt wurde, aber ich konnte keine offensichtliche Antwort finden. Ich versuche, die Anzahl der Elemente in einer Liste zu zählen, die einem bestimmten Wert entsprechen. Das Problem ist, dass diese Elemente nicht von einem eingebauten Typ sind. Also, wenn ichBedingte Zählen in 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))
Jetzt hätte ich eine Zählung der Elemente, deren Liste wie Feld b = 1. Ich kam mit zwei Lösungen:
print [e.b for e in stuff].count(1)
und
print len([e for e in stuff if e.b == 1])
Welche ist die beste Methode? Gibt es eine bessere Alternative? Es scheint, dass die Zahl() -Methode keine Schlüssel akzeptiert (zumindest in Python-Version 2.5.1.
Vielen Dank!
Es bis zu Namen keine gute Idee ist, eine Liste als 'Liste'. – MAK
stimme ich völlig zu und änderte den Namen der Liste. – nicolaum