我想创建一个获取列表的函数,例如:
['comp1', 'comp2', 'comp1', 'mycomp', 'mycomp']
返回一个字典,表示密钥是计算机的名称,值是列表中重复的同名密钥的次数。
就像列表得到输入一样:
["computer17", "computer6", "comp", "computer17"]
所以回报是:
["computer17":"2",...]
答案 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子类。有时叫一个包 或多重集。元素存储为字典键及其计数 存储为字典值。