gpt4 book ai didi

python - python中的内存错误

转载 作者:IT老高 更新时间:2023-10-28 21:49:33 26 4
gpt4 key购买 nike

Traceback (most recent call last):
File "/run-1341144766-1067082874/solution.py", line 27, in
main()
File "/run-1341144766-1067082874/solution.py", line 11, in main
if len(s[i:j+1]) > 0:
MemoryError
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in
from apport.report import Report
MemoryError

Original exception was:
Traceback (most recent call last):
File "/run-1341144766-1067082874/solution.py", line 27, in
main()
File "/run-1341144766-1067082874/solution.py", line 11, in main
if len(s[i:j+1]) > 0:
MemoryError

当我尝试运行以下程序时出现上述错误。有人可以解释什么是内存错误,以及如何克服这个问题? . 程序将字符串作为输入并查找所有可能的子字符串并从中创建一个集合(按字典顺序),它应该在用户询问的相应索引处打印值,否则它应该打印'无效'

def main():
no_str = int(raw_input())
sub_strings= []
for k in xrange(0,no_str):
s = raw_input()
a=len(s)
for i in xrange(0, a):
for j in xrange(0, a):
if j >= i:
if len(s[i:j+1]) > 0:
sub_strings.append(s[i:j+1])
sub_strings = list(set(sub_strings))
sub_strings.sort()
queries= int(raw_input())
resul = []
for i in xrange(0,queries):
resul.append(int(raw_input()))
for p in resul:
try:
print sub_strings[p-1]
except IndexError:
print 'INVALID'


if __name__ == "__main__":
main()

最佳答案

如果您收到意外的 MemoryError 并且您认为应该有足够的 RAM 可用,这可能是因为您使用的是 32 位 python 安装。

如果您有 64 位操作系统,简单的解决方案是切换到 64 位安装的 python。

问题是 32 位 python 只能访问 ~4GB 的 RAM。如果您的操作系统是 32 位,由于操作系统开销,这可能会进一步缩小。

您可以在此处详细了解 32 位操作系统为何限制为 ~4GB RAM:https://superuser.com/questions/372881/is-there-a-technical-reason-why-32-bit-windows-is-limited-to-4gb-of-ram

关于python - python中的内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11283220/

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