1

次のようなリストを含む辞書があります。

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

これらの各リストの一意の値の数を自動的に取得しようとしています (つまり、3 番目のリストの値は 3 になります)。

どうすればいいですか?

4

3 に答える 3

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

それはあなたが探しているものですか?

sets はリストのようなものです...一意の要素のみを含み、順序がないことを除いて

于 2013-10-16T23:04:31.683 に答える
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 構文。

于 2013-10-16T23:07:12.707 に答える
0

セットを構築し、その長さを取得します。

print len(set(yourlist))
于 2013-10-16T23:05:01.590 に答える