如何使我的Python程序使用4个字节代替24个字节



要保存内存,我想为每个int而不是24个int使用少字节(4(。

我看着结构,但我真的不明白如何使用它们。https://docs.python.org/3/library/struct.html

当我执行以下操作时:

myInt = struct.pack('I', anInt)

sys.getsizeof(myInt)不会像我预期的那样返回4。

我做错了什么吗?Python是否有另一种方法可以节省每个变量的内存?

添加:我希望能够使用索引的数组中有750,000,000个整数。

如果要将许多整数放在数组中,请使用 numpy ndarray。Numpy是一个非常受欢迎的第三方软件包,比单独使用Python更紧凑地处理阵列。Numpy不在标准库中,因此它可以比Python本身更新更频繁地进行更新 - 它被认为已添加到标准库中。Numpy是Python在数据科学和其他科学用途中如此流行的原因之一。

numpy的NP.Int32类型使用四个字节用于整数。用

声明您的数组中充满零的数组
import numpy as np
myarray = np.zeros((750000000,), dtype=np.int32)

,或者如果您只想要数组并且不想花任何时间初始化值,

myarray = np.empty((750000000,), dtype=np.int32)

您然后填充并根据需要使用数组。完整阵列有一些Python开销,因此数组的大小将比4 * 750000000稍大,但大小将接近。

最新更新