Python 3.x 获取键中相同值的计数

Python 3.x 获取键中相同值的计数,python-3.x,Python 3.x,我有一个python字典,如下所示,它包含了不同的用户,比如U,他们购买的产品是p。 需要了解有多少用户购买了同一套产品: dict={'U1':['P1','P2','P3'],'U2':['P5','P1'],'U3':['P1','P3','P2'],'U4':['P7','P6'],'U5':['P1','P5'],'U6':['P1','P2','P3'] 因此,上面是输入: 输出将是: 3个用户购买了['P1','P2','P3'] 2个用户购买了['P5','P1'] 1用户购买[

我有一个python字典,如下所示,它包含了不同的用户,比如U,他们购买的产品是p。 需要了解有多少用户购买了同一套产品:

dict={'U1':['P1','P2','P3'],'U2':['P5','P1'],'U3':['P1','P3','P2'],'U4':['P7','P6'],'U5':['P1','P5'],'U6':['P1','P2','P3']

因此,上面是输入:

输出将是: 3个用户购买了['P1','P2','P3'] 2个用户购买了['P5','P1'] 1用户购买['P7','P6']
在此处输入代码


下面我尝试了,但它没有返回我想要的:使用
frozenset
Counter
可能是最简单的方法

from collections import Counter

data = {'U1':['P1','P2','P3'],'U2':['P5','P1'],'U3':['P1','P3','P2'],'U4':['P7','P6'],'U5':['P1','P5'],'U6':['P1','P2','P3']}

c = Counter(frozenset(x) for x in list(data.values()))
print(c)
# Counter({frozenset({'P1', 'P3', 'P2'}): 3, frozenset({'P5', 'P1'}): 2, frozenset({'P7', 'P6'}): 1})
将完全有助于解决这一问题。