对于性能问题,总是最好进行衡量。以下是一些时间安排:
d = {} for i in xrange(4000000): d[i] = None # 722ms d = dict(itertools.izip(xrange(4000000), itertools.repeat(None))) # 634ms dict.fromkeys(xrange(4000000)) # 558ms s = set(xrange(4000000)) dict.fromkeys(s) # Not including set construction 353ms最后一个选项不做任何调整大小,它只是复制集合中的哈希值并增加引用。如您所见,调整大小不会花费很多时间。可能是您的对象创建缓慢。



