1

値がリストである辞書があり、各キーに関連付けられたリストに各アイテムが表示される回数をカウントしたいと思います。例: 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)

これはここで見つけましたが、値がリストであるため、ハッシュ化できません。しばらくの間、collections.Counterと辞書の構造をいじっていますが、何も機能していないようです。私がオンラインで見つけたすべての解決策は、キーごとに1つの値を持つ辞書と、キーごとではなく辞書全体での重複に対するものでした。

4

2 に答える 2

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})}
于 2012-08-08T10:51:26.437 に答える
0
counts = {k:Counter(v) for (k,v) in my_dict.items()}
于 2012-08-08T10:52:49.040 に答える