计算列表中元素的出现次数

时间:2015-12-24 12:54:48

标签: python

我想创建一个获取列表的函数,例如:

['comp1', 'comp2', 'comp1', 'mycomp', 'mycomp'] 

返回一个字典,表示密钥是计算机的名称,值是列表中重复的同名密钥的次数。

就像列表得到输入一样:

["computer17", "computer6", "comp", "computer17"]

所以回报是:

["computer17":"2",...]

1 个答案:

答案 0 :(得分:4)

计算列表中项目的最简单方法是使用Counter对象(Counter是内置字典的子类):

>>> from collections import Counter
>>> computers = ['computer17', 'computer6', 'comps', 'computer17']
>>> Counter(computers)
Counter({'computer17': 2, 'comps': 1, 'computer6': 1})

摘自文档:

  

班级计数器(__ builtin __。dict)

     

用于计算可散列物品的Dict子类。有时叫一个包   或多重集。元素存储为字典键及其计数   存储为字典值。