假設我有一個array
如下轉換陣列字典(計數器)
arr = [1 , 2, 3, 4, 5]
我想將它轉換爲dictionary
像
{
1: 1,
2: 1,
3: 1,
4: 1,
5: 1
}
我這背後的動機是這樣我就可以迅速增加O(1)時間內任何鍵的計數。
幫助將不勝感激。由於
假設我有一個array
如下轉換陣列字典(計數器)
arr = [1 , 2, 3, 4, 5]
我想將它轉換爲dictionary
像
{
1: 1,
2: 1,
3: 1,
4: 1,
5: 1
}
我這背後的動機是這樣我就可以迅速增加O(1)時間內任何鍵的計數。
幫助將不勝感激。由於
您可以使用字典解析:
{k: 1 for k in arr}
錯誤的答案,這將始終有「1」作爲計數。 –
據我瞭解OP的問題,這一步是初始化字典,以便將來增加計數。也許我們應該把答案錯誤或正確的決定留給OP本人。 – Hyperboreus
這就是爲什麼我沒有downvote你的答案。 –
from collections import Counter
arr = [1, 2, 3, 4, 5]
c = Counter(arr)
from collections import Counter
answer = Counter(arr)
>>> import collections
>>> arr = [1, 2, 3, 4, 5]
>>> collections.Counter(arr)
Counter({1: 1, 2: 1, 3: 1, 4: 1, 5: 1})
您應該使用['Counter'](http://docs.python.org/2/library/collections.html#collections.Counter)。 –
如果您使用Counter,請記住這會導致Counter-object而不是字典中。 – Hyperboreus