【发布时间】:2020-04-27 16:53:43
【问题描述】:
两个列表都有 3 个元素,但为什么列表大小不同?谢谢!
l1.append(1)
l1.append(2)
l1.append(3)
print(l1.__sizeof__()) # the size is 72
l2 = [1,2,3]
print(l2.__sizeof__()) # the size is 64
【问题讨论】:
-
可能是因为在文字的情况下,底层缓冲区是精确分配的。当附加一个 python 列表时,它有时会过度分配以提供摊销的常数时间附加。不过,这真的没关系。这些是实现细节。