python字典唯一值的计数
发布时间:2020-12-20 12:37:43 所属栏目:Python 来源:网络整理
导读:我在 Python中计算每个键的不同值时遇到问题. 我有一本字典 [{"abc":"movies"},{"abc": "sports"},{"abc": "music"},{"xyz": "music"},{"pqr":"music"},{"pqr":"movies"},{"pqr":"sports"},{"pqr":"news"},{"pqr":"sports"}] 我需要分别为每个键打印不同值的
我在
Python中计算每个键的不同值时遇到问题.
我有一本字典 [{"abc":"movies"},{"abc": "sports"},{"abc": "music"},{"xyz": "music"},{"pqr":"music"},{"pqr":"movies"},{"pqr":"sports"},{"pqr":"news"},{"pqr":"sports"}] 我需要分别为每个键打印不同值的数量. 这意味着我想要打印 abc 3 xyz 1 pqr 4 请帮忙. 谢谢 解决方法
使用
collections.Counter() instance,以及一些链接:
from collections import Counter from itertools import chain counts = Counter(chain.from_iterable(e.keys() for e in d)) 这可确保正确计算输入列表中包含多个键的词典. 演示: >>> from collections import Counter >>> from itertools import chain >>> d = [{"abc":"movies"},{"pqr":"sports"}] >>> Counter(chain.from_iterable(e.keys() for e in d)) Counter({'pqr': 5,'abc': 3,'xyz': 1}) 或输入词典中的多个键: >>> d = [{"abc":"movies",'xyz': 'music','pqr': 'music'},{"abc": "sports",'pqr': 'movies'},{"abc": "music",'pqr': 'sports'},'xyz': 1}) Counter()具有其他有用的功能,例如 for key,count in counts.most_common(): print '{}: {}'.format(key,count) # prints # 5: pqr # 3: abc # 1: xyz (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |