您尝试使用的方法array.array是首先创建tuple与您的内存使用量相当的内存使用量list,因此峰值内存使用量仍然太高。array乘以由 Short 组成的Short tuple,而不是tuple:a_long_list = array.array('b', (1,)) * 1000000011array.array然后将有效地生成更长的数组,完全使用内存高效的 C 级类型(每个元素仅占用一个字节,而不是指针,通常每个元素 4-8 个字节;如果您随后开始分配范围之外的值,则更多小int缓存),没有您不使用的巨大临时缓存。