我已经阅读了Raymond Hettinger的新方法来实现紧凑字典。这解释了为什么Python 3.6中的字典比Python 2.7-3.5中的字典使用更少的内存。然而,在Python 2.7和3.3-3.5字典中似乎存在内存使用差异。测试代码:
import sys
d = {i: i for i in range(n)}
print(sys.getsizeof(d))
- Python 2.7: 12568
- Python 3.5: 6240
- Python 3.6: 4704
如上所述,我了解3.5和3.6之间的差异,但我想知道2.7和3.5之间节省的原因。