gpt4 book ai didi

python - 如何让我的 Python 程序使用 4 个字节而不是 24 个字节作为 int?

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:12 24 4
gpt4 key购买 nike

为了节省内存,我想为每个 int 使用更少的字节数 (4),而不是 24。

我看过结构体,但我真的不明白如何使用它们。 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,但大小将接近。

关于python - 如何让我的 Python 程序使用 4 个字节而不是 24 个字节作为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56762238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com