我刚刚读到一个定义为“I”的compactArray应该生成一个包含2个或4个字节的整数的数组,但是执行这个代码片段我仍然得到24个字节,这与我使用整数列表相同。在
import array
import sys
lowLevelArray = array.array("i", [1,2,3])
print sys.getsizeof(lowLevelArray[0])
pythonList = [1,2,3]
print sys.getsizeof(pythonList[0])
输出:
24
24
Tags:
array object更节省空间;它的每int包含4个字节,加上56个字节的开销:
但是,当你这么做的时候
^{pr2}$它首先计算
lowLevelArray[0]
,它当然返回一个普通整数,然后显示使用的大小。这与您也有一个恰好保存相同值的数组完全无关。在因为一旦检索到整数,就必须将其包装在python对象中,这样才能使用它。python中的一切都是一个对象,它没有原语的概念(即使底层实现使用它们)。在
相关问题 更多 >
编程相关推荐