【发布时间】:2014-06-30 21:21:36
【问题描述】:
我正在尝试从 txt 文件中读取一定数量的行并将每行的一些单词拆分存储到变量中。但是,我不断收到索引超出范围错误,我不明白为什么。
代码如下:
for i in range(230218):
count=i+1
if count != coordinate:
writefile.write(str(count)+"0")
else:
writefile.write(str(count)+coverage)
lineread=f.readline()
x=lineread.split()
coordinate=int(x[1])
coverage=x[3]
并且错误说 tat 坐标和覆盖范围是超出范围的。
edit:我认为问题在于输入文件太大,因此根本没有为 x 生成列表。当我在另一台机器上运行它时,问题自行解决了。
【问题讨论】:
-
请edit您的问题并提供回溯的全文
-
与您的问题无关,但
230218是一个相当大的数字。您可能希望在 Python 2 中使用xrange以获得更好的性能和更少的内存使用。 -
如果你使用python xrange,它是一个序列对象,它的评估是惰性的。你知道你可以这样做
range(1, 230219)这将避免count = i + 1跨度>
标签: python