Python根据底层系统架构自动分配整数.不幸的是,我有一个庞大的数据集需要完全加载到内存中.
那么,有没有办法强制Python只使用2个字节的某些整数(相当于C++'short')?
不.但是你可以在数组中使用短整数:
from array import array a = array("h") # h = signed short, H = unsigned short
只要该值保留在该数组中,它就是一个短整数.
阵列模块的文档
感谢Armin指出'阵列'模块.我还发现了'struct'模块,它在一个字符串中包含c样式的结构:
从文档(https://docs.python.org/library/struct.html):
>>> from struct import * >>> pack('hhl', 1, 2, 3) '\x00\x01\x00\x02\x00\x00\x00\x03' >>> unpack('hhl', '\x00\x01\x00\x02\x00\x00\x00\x03') (1, 2, 3) >>> calcsize('hhl') 8