インデックスエラー:リストインデックスが範囲外とPython
-
11-09-2019 - |
質問
出力の 53 行目を出力するようにプログラムに指示しています。このエラーは、行数が少ないため印刷できないことを示しているのでしょうか?
解決
あなたは53の項目のリストを持っている場合は、インデックスが0から始まるため、
、最後の一つはthelist[52]
です。
他のヒント
はい、
あなたは存在しないリストの要素にアクセスしようとしている。
MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.
あなたはoff-by-oneエラーを持っている?
はい。シーケンスは、第54回アイテムを持っていません。
そうです。 「範囲外のリストインデックスは、」最も可能性の高いあなたは、リストの長さがn-th
よりも小さいながら、リストの要素をn
するために参照されることを意味します。
総アイテムは100であるならば、L [99]と範囲(99)は、あなたが最後までアクセスできるようになりますので、
は常に、あなたがこのエラーを克服したい場合、インデックスと範囲のデフォルト値は0から始まる心に留めておきます要素ます。
あなたがこのタイプのエラー、範囲内/ミドル間来るアイテムをクロスチェックしてくださいを取得し、そのインデックスを使用して、出力を取得する場合、あなたは上記の完璧なエラーをした続かれていないことを保証するたびます。
Python のインデックス作成の仕組みは 0 から始まります。, したがって、リストの最初の番号は [0] になります。開始インデックスが 0 で、
したがって、行 53 は [52]
.
値から 1 を減算すれば問題ありません。:)
テキストファイルからリストを読み込む場合は、
は、リストの要素として最後の空の行を取得することがあります。 あなたはこのようにそれを取り除くことができます:
list.pop()
for i in list:
i[12]=....
所属していません StackOverflow