小编Tau*_*upi的帖子

内存错误和列表限制?

我需要为科学目的生产大型和大型(非常)矩阵(马尔可夫链).我执行微积分,我放入20301元素列表(=我的矩阵的一行).我需要内存中的所有数据继续下一步Markov步骤但我可以将它们存储在别处(例如文件),如果需要的话,即使它会减慢我的马尔可夫链步入.我的电脑(科学实验室):Bi-xenon 6核/ 12threads,12GB内存,操作系统:win64

  Traceback (most recent call last):
  File "my_file.py", line 247, in <module>
    ListTemp.append(calculus)
MemoryError
Run Code Online (Sandbox Code Playgroud)

微积分结果示例:9.233747520008198e-102(是的,超过1/9000)

存储第19766个元素时会引发错误:

ListTemp[19766]
1.4509421012263216e-103
Run Code Online (Sandbox Code Playgroud)

如果我走得更远

Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    ListTemp[19767]
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

所以这个列表在19767循环中有一个内存错误.

问题:

  1. 列表是否有内存限制?它是"按列表限制"还是"按脚本限制全局"?

  2. 如何绕过这些限制?任何可能的想法?

  3. 使用numpy,python64会有帮助吗?它们的内存限制是多少?其他语言怎么样?

python memory limits list

65
推荐指数
3
解决办法
22万
查看次数

标签 统计

limits ×1

list ×1

memory ×1

python ×1