0

次のようなものがあるarrayとします

arr = [1 , 2, 3, 4, 5]

いいねに変換しdictionaryたい

{
  1: 1,
  2: 1,
  3: 1,
  4: 1, 
  5: 1
}

この背後にある私の動機は、O(1) 時間で任意のキーのカウントをすばやくインクリメントできるようにすることです。

助けていただければ幸いです。ありがとう

4

6 に答える 6

4
from collections import Counter
answer = Counter(arr)
于 2013-07-28T19:45:54.997 に答える
4

fromkeysメソッドを使用できます。

>>> arr = [1 , 2, 3, 4, 5]
>>> dict.fromkeys(arr,1)
{1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
>>> 
于 2013-07-28T19:46:35.967 に答える
3

辞書内包表記を使用できます。

{k: 1 for k in arr}
于 2013-07-28T19:56:03.677 に答える
2
from collections import Counter

arr = [1, 2, 3, 4, 5]
c = Counter(arr)
于 2013-07-28T19:45:51.690 に答える
1

試してくださいcollections.Counter

>>> import collections
>>> arr = [1, 2, 3, 4, 5]
>>> collections.Counter(arr)
Counter({1: 1, 2: 1, 3: 1, 4: 1, 5: 1})
于 2013-07-28T19:46:29.770 に答える