当前位置:  开发笔记 > 编程语言 > 正文

计算列表中的项目并将其作为字典

如何解决《计算列表中的项目并将其作为字典》经验,为你挑选了1个好方法。

我正在尝试从列表中生成字典

names = ['tango', 'bravo', 'tango', 'alpha', 'alpha']

结果应该看起来像这样:

{'tango': 2 , 'bravo': 1 , 'alpha': 2}

我该怎么做?



1> timgeb..:

这正是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}

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有