次のようなリストを含む辞書があります。
['33', '34', '34', '34', '35', '35', '36', '36', '38']
['34', '37', '38']
['33', '33', '35', '35', '38', '38']
これらの各リストの一意の値の数を自動的に取得しようとしています (つまり、3 番目のリストの値は 3 になります)。
どうすればいいですか?
次のようなリストを含む辞書があります。
['33', '34', '34', '34', '35', '35', '36', '36', '38']
['34', '37', '38']
['33', '33', '35', '35', '38', '38']
これらの各リストの一意の値の数を自動的に取得しようとしています (つまり、3 番目のリストの値は 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))