【发布时间】:2017-03-10 01:32:53
【问题描述】:
有没有更快的方法来生成具有特定默认值的字典?我基本上想要一个等价的
arrays = [True] * (n+1)
但对于字典。我目前有:
dicts = dict([(i,True) for i in range(0,n+1)])
问题在于 n = 1000000,我在这个实现中得到的时间是数组的 0.016 秒和字典的 0.318 秒。有没有更快的方法来为字典执行此操作?
【问题讨论】:
-
dict.fromkeys(range(n + 1), True) -
100 万个键需要 0.177 秒。您无法获得更快的速度,因为散列和将 100 万个键放入哈希表比构建包含 100 万个引用的数组需要更多时间。
-
好的,谢谢,这行得通。感谢您的信息
标签: python dictionary