我需要知道如何计算项目在列表中显示的次数,而不使用.count()
函数。例如,我知道如果我有一个以
>>> [1,2,3,1,2,1].count(1)
然后输出3
。
为了澄清一点,我想具体了解如何在不使用3
的情况下获得输出.count()
。
答案 0 :(得分:5)
你可以像这样使用for循环
x = [1,2,3,1,2,1]
count = 0
for i in x:
if i == 3:
count+= 1
print count
答案 1 :(得分:3)
执行此操作的众多方法之一:
x = [1,2,3,1,2,1]
count = len([i for i in x if i == 1])
print count
另一种方式:
>>> from collections import Counter
>>> counter = Counter(x)
Counter({1: 3, 2: 2, 3: 1})
>>> counter.get(1)
3
>>>
答案 2 :(得分:1)
您可以使用sum
和generator expression:
>>> lst = [1, 2, 3, 1, 2, 1]
>>> sum(x == 1 for x in lst)
3
>>> sum(1 for x in lst if x == 1) # Alternately
3
>>>
答案 3 :(得分:0)
len([a for a in [1,2,3,1,2,1] if a == 1])