【发布时间】:2016-10-15 10:53:55
【问题描述】:
我一直在尝试根据键计算字典中的值。但是,我无法达到预期的结果。我将在下面展示更多细节:
from collections import Counter
d = {'a': ['Adam','Adam','John'], 'b': ['John','John','Joel'], 'c': ['Adam','Adam','John}
# create a list of only the values you want to count,
# and pass to Counter()
c = Counter([values[1] for values in d.itervalues()])
print c
我的输出:
Counter({'Adam': 2, 'John': 1})
我希望它计算列表中的所有内容,而不仅仅是列表的第一个值。另外,我希望我的结果与密钥有关。我将在下面向您展示我想要的输出:
{'a': [{'Adam': 1, 'John': 2}, 'b':{'John': 2, 'Joel': 1}, 'c':{'Adam': 2, 'John': 1 }]}
是否有可能获得所需的输出?或者有什么接近的?我欢迎您提出任何建议或想法。谢谢。
【问题讨论】:
-
这个问题已经被问了很多次了。
-
嗨,Marcus,我已经尝试在网上搜索几个小时的解决方案。不幸的是,我找不到它。可以给我链接吗?谢谢。
标签: python list dictionary counter