我不确定之前有人问过这个问题,但我找不到明显的答案。我正在尝试计算列表中等于某个值的元素的数量。问题是这些元素不是内置类型。所以如果我有
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))
现在我想要一个字段b= 1的列表元素的计数。我想出了两个解决方案:
print [e.b for e in stuff].count(1)
和
print len([e for e in stuff if e.b == 1])
哪种方法是最好的?有没有更好的选择?count()方法似乎不接受键(至少在Python版本2.5.1中是这样。
非常感谢!
https://stackoverflow.com/questions/1764309
复制相似问题