假设我有一个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