我有一本字典,其中包含如下所示的列表:
['33', '34', '34', '34', '35', '35', '36', '36', '38']
['34', '37', '38']
['33', '33', '35', '35', '38', '38']
我正在尝试自动获取每个列表的唯一值的数量(即第三个列表的值为 3)。
我该怎么做?
我有一本字典,其中包含如下所示的列表:
['33', '34', '34', '34', '35', '35', '36', '36', '38']
['34', '37', '38']
['33', '33', '35', '35', '38', '38']
我正在尝试自动获取每个列表的唯一值的数量(即第三个列表的值为 3)。
我该怎么做?
print len(set([1,1,2,2,3,3]))
那是你要找的吗?
set
s 就像列表...除了它们只包含唯一的元素,并且它们没有顺序
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 语法。
建立一个集合,然后得到它的长度:
print len(set(yourlist))