python中的内存错误

2024-05-16

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 https://superuser.com/questions/372881/is-there-a-technical-reason-why-32-bit-windows-is-limited-to-4gb-of-ram

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中的内存错误 的相关文章

随机推荐