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

时间:2015-10-11 17:57:13

标签: python list python-3.x count

对于这样的列表:

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

需要计算a,b c。

的出现次数

4 个答案:

答案 0 :(得分:4)

您可以使用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})

答案 1 :(得分:1)

查看Counter课程。小心,虽然它没有总结价值

答案 2 :(得分:0)

您可以使用字典:

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

答案 3 :(得分:0)

将列表转换为字典

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}