我动态分配了一个大小为1100 * 10 ^ 9的2D数组,我收到了以下运行时错误 -
如果我将数组的大小减小到1100 * 10 ^ 5,我就不会遇到此错误。 请帮忙 。提前致谢 。 编辑 - 我添加了分配数组的部分。
keywords = input("Please Enter keywords path as c:/example/ \n :")
keys = open((keywords), "r").readline()
keys = keys.split(',') # separates key strings
with open("c:/saad/saad.txt") as f:
for line in f:
for key in keys:
if key.strip() in line:
print(line)
答案 0 :(得分:0)
1100 * 10^9
是1.1*10^12
元素。让我们暂时假设这些元素是4字节整数,这是一个总分配:
4.4 * 10^12
个字节
除以1024 * 1024 * 1024以获得千兆字节...
1,048,017.748 GB
- 大约一千TB。
我不认为地球上任何地方都有处理器架构可以解决这个问题,更不用说分配这么多内存了。
(虽然如果我对此错了,我会很高兴听到它!)