Python - 如何计算列表中出现的次数

Python - How to count the number of occurrences in a list

对于这样的列表:

spam=[['a',1],['b',2],['c',3],['a',2],['b',2],['c',2],['a',3],['b',3],['c',3]]

需要统计a,b c出现的次数

看看 Counter class。小心,虽然它没有对值求和

您可以使用 collections.Counter 和生成器表达式 -

Counter(a for a,_ in spam)

演示 -

>>> from collections import Counter
>>> spam=[['a',1],['b',2],['c',3],['a',2],['b',2],['c',2],['a',3],['b',3],['c',3]]
>>> Counter(a for a,_ in spam)
Counter({'a': 3, 'b': 3, 'c': 3})

你可以使用字典:

c={}
for i in spam: c[i[0]] = c[i[0]]+1 if i[0] in c else 1

cast/convert 列表到字典

spam=[['a',1],['b',2],['c',3],['a',2],['b',2],['c',2],['a',3],['b',3],['c',3]]
dict(spam)

输出:{'a':3,'b':3,'c':3}