我正在尝试从列表中生成字典
names = ['tango', 'bravo', 'tango', 'alpha', 'alpha']
结果应该看起来像这样:
{'tango': 2 , 'bravo': 1 , 'alpha': 2}
我该怎么做?
这正是a的Counter
目的。
>>> from collections import Counter >>> Counter(['tango', 'bravo', 'tango', 'alpha', 'alpha']) Counter({'tango': 2, 'alpha': 2, 'bravo': 1})
您可以Counter
像使用字典一样使用对象,因为它是内置对象的子类dict
。摘录自文档:
class Counter(__ builtin __。dict)
Dict子类,用于计算可哈希项。有时称为书包或多件套。元素存储为字典键,其计数存储为字典值。
编辑:
根据要求,这是另一种方法:
>>> names = ['tango', 'bravo', 'tango', 'alpha', 'alpha'] >>> d = {} >>> for name in names: ... d[name] = d.get(name, 0) + 1 ... >>> d {'bravo': 1, 'tango': 2, 'alpha': 2}