在Python中,为什么整数元组比不同的整数占用更少的空间?

这是一个随机整数的例子:

a, b, c, d = 79412623, 56529819571, 10431, 30461
t = (79412623, 56529819571, 10431, 30461)

它们的尺寸:

import sys
sys.getsizeof(t) # 88
aa, bb, cc, dd = sys.getsizeof(a), sys.getsizeof(b), sys.getsizeof(c), sys.getsizeof(d)
sum([aa,bb,cc,dd]) # 96

为什么元组占用的空间更少?

解决方法:

sys.getsizeof返回的数字不包括容器包含的对象的大小.

>>> sys.getsizeof({1:2})
280
>>> sys.getsizeof({'a_really_long_string_that_takes_up_lots_of_space':'foo'})
280
上一篇:C# – 如何从List中删除值


下一篇:Python字符串神奇地转换为元组.为什么?