【发布时间】:2023-03-17 15:28:01
【问题描述】:
我有一个这样的列表:
[5,6,7,2,4,8,5,2,3]
我想检查每个元素在此列表中存在的次数。
在 Python 中最好的方法是什么?
【问题讨论】:
我有一个这样的列表:
[5,6,7,2,4,8,5,2,3]
我想检查每个元素在此列表中存在的次数。
在 Python 中最好的方法是什么?
【问题讨论】:
count() 方法计算对象在列表中出现的次数:
a = [5,6,7,2,4,8,5,2,3]
print a.count(5) # prints 2
但如果您对列表中每个对象的总数感兴趣,您可以使用以下代码:
counts = {}
for n in a:
counts[n] = counts.get(n, 0) + 1
print counts
【讨论】:
total = counts.get(n,0)?无论有没有它,我都会得到相同的结果,所以这似乎是一个额外的步骤。
您可以使用collections.Counter
>>> from collections import Counter
>>> Counter([5,6,7,2,4,8,5,2,3])
Counter({2: 2, 5: 2, 3: 1, 4: 1, 6: 1, 7: 1, 8: 1}
【讨论】: