为什么列表(范围(50))和范围(50)在Python中具有不同的内存大小,尽管它们相同?

时间:2017-12-04 00:00:25

标签: python

我刚测试了系统的内存并注意到了一些事情:

Python 2:

from sys import getsizeof
x1 = range(50)
x2 = list(range(50))
getsizeof(x1) #472
getsizeof(x2) #568
x1==x2 #True

Python 3:

from sys import getsizeof
x1 = [x for x in range(50)]
x2 = list([x for x in range(50)])
getsizeof(x1) #528
getsizeof(x2) #560
x1==x2 #True

如果我在x2周围嵌套更多list()个函数,它仍然只有一个。

0 个答案:

没有答案