私が含まれている例のように 'test.txtの' ファイルがあります:このリストインデックスが範囲外になるのはなぜですか?
--
a
--
b
--
c
と私のPythonコード:
x = ['a','b','c']
i=1
with open("test.txt", "r") as fin:
with open("result.log", "w") as fout:
for line in fin:
if line.startswith(' --'):
fout.write(line.replace(' --','use {}'.format(str(x[i-1]))))
i+=i
else:
fout.write(line)
をしかし、結果は次のとおりです。
fout.write(line.replace(' --','use {}'.format(str(x[i-1]))))
IndexError: list index out of range
が動作するべき...誰も私を助けることができますか?私は結果持っているしたいと思います:0に初期化i
use a
a
use b
b
use c
c
おそらく 'ので、(I - 1)> = LEN(x)'は。インデックスを使用しようとする前にそれが本当かどうかをチェックしていないことを考えると、なぜこれが驚くべきのかは明らかではありません。また、 'i + = i'は少し疑わしいようです。デバッグを試しましたか? – jonrsharpe
トーマスありがとう、そうです、私はこのことに注意を払っていませんでした... –
あなたの最後の質問にコメントしていません(https://stackoverflow.com/questions/47814761/python-write-txt-file-with- a-list):インプリメンテーションでインデックスを作成していた方法が間違っていて、リストを適切に一致させることができず(Index out of boundsエラーが発生する)受け入れられた答えはあなたのためにその問題を解決するはずです。 – BoboDarph