如何确定字典中有多少个唯一值?

时间:2013-10-16 23:03:02

标签: python dictionary

我有一个字典,其中包含如下所示的列表:

['33', '34', '34', '34', '35', '35', '36', '36', '38']
['34', '37', '38']
['33', '33', '35', '35', '38', '38']

我正在尝试自动获取每个列表的唯一值的数量(即第三个列表的值为3)。

我该怎么做?

3 个答案:

答案 0 :(得分:5)

print len(set([1,1,2,2,3,3]))

是你在寻找什么?

set就像列表一样......除了它们只包含唯一元素,它们没有订单

答案 1 :(得分:0)

构建一个集合,然后得到它的长度:

print len(set(yourlist))

答案 2 :(得分:0)

len(set(x))是集合x中唯一元素的数量。

那对于那本字典:

d
Out[16]: 
{'a': ['33', '34', '34', '34', '35', '35', '36', '36', '38'],
 'b': ['34', '37', '38'],
 'c': ['33', '33', '35', '35', '38', '38']}

你有

for k,v in d.items():
    print('{}: {}'.format(k,len(set(v))))

a: 5
c: 3
b: 3

python 3语法。