在Python字典中匹配/计数列表

4

我有一个字典{x: [a,b,c,d], y: [a,c,g,f,h],...}。所以键是一个变量,其值是一个列表(大小不同)。

我的目标是将每个列表与字典中的每个列表匹配,并返回某个列表重复出现的次数。

我尝试了这个方法,但似乎不起作用:

count_dict = {}
counter = 1
for value in dict.values():
  count_dict[dict.key] = counter
  counter += 1

字典的键必须是不可变的(即固定的,不能是列表)。 - Galax
据我所知,这些键是字符串。 - Juan Carlos Coto
1个回答

7

你可以将列表映射为元组,这样它们就可以用作键,并使用Counter字典进行计数:

from collections import Counter 

count = Counter(map(tuple, d.values()))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接