Python 在字典中计算值

Python 在字典中计算值,python,list,dictionary,python-3.x,Python,List,Dictionary,Python 3.x,我有一个字典,其中的值是列表,我想计算每个项在与每个键关联的列表中出现的次数。 例如: 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) 我发现了,但没有成功,因

我有一个字典,其中的值是列表,我想计算每个项在与每个键关联的列表中出现的次数。 例如:
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)

我发现了,但没有成功,因为价值观是列表,所以是不可破坏的。我已经摆弄了一段时间的藏书、计数器和字典的结构,但似乎什么都没用。我在网上找到的所有解决方案都是针对每个键都有一个值的字典,以及针对整个字典中的重复项,而不是每个键

好极了!这有点让人尴尬,因为那是多么简单:p谢谢@Snaaa错误消息一定让您发疯了:)因为计数器试图计算实际的元组本身,这些元组本身就是密钥对值,而该值是一个不可破坏的列表。
>>> 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})}
counts = {k:Counter(v) for (k,v) in my_dict.items()}