【发布时间】:2012-07-23 19:02:54
【问题描述】:
a=raw_input()
prefix_dict = {}
for j in xrange(1,len(a)+1):
prefix = a[:j]
prefix_dict[prefix] = len(prefix)
print prefix_dict
上面的代码有没有可能出现内存错误?这段代码在服务器上运行,服务器是一台运行 32 位 Ubuntu(Ubuntu 12.04 LTS)的四核 Xeon 机器。在少数情况下它可以工作,而在少数情况下它会显示内存错误。仅供参考:我不知道他们正在测试的情况,但输入是小写字母。输入大小
【问题讨论】:
-
当然。特别是如果您在访问之前分配了很多大对象。
-
有点离题,但在这段代码中,
len(prefix)将始终等于j。不需要len(prefix)。 -
我有一个问题。 raw_input() 读入的内容是否可以变得惰性,你会怎么做?