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}
对于这样的列表:
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}