我有一个字典,其中值是列表,我想计算每个项目出现在与每个键相关联的列表中的次数。
例如:
my_dict= {10:[23,24,23,23,24],11:[17,23,23,17,24]}
会产生10:(23:3,24:2),11:(17:2,23:2,24:1)
我尝试过使用
from collections import Counter
counts = Counter((k, v) for k, v in my_dict.items())
print(counts)
我发现here,但没有成功,因为值是列表,所以不可用。我已经摆弄了collections.Counter和字典的结构了一段时间了,但似乎没有什么工作。我在网上找到的所有解决方案都是字典,每个键有一个值,整个字典中有重复,而不是每个键。
答案 0 :(得分:2)
>>> from collections import Counter
>>> my_dict= {10:[23,24,23,23,24],11:[17,23,23,17,24]}
>>> {k: Counter(v) for k, v in my_dict.items()}
{10: Counter({23: 3, 24: 2}), 11: Counter({17: 2, 23: 2, 24: 1})}
答案 1 :(得分:0)
counts = {k:Counter(v) for (k,v) in my_dict.items()}