#目的
何かと比較できるほどの経験が乏しいですが、
Pythonのエラーメッセージは具体的でわかりやすい
と感じています。
よって、エラーは、ぱっと見るだけでなく、記載内容をまじめに読むことが、
エラー解決の近道である気がしています。
ただ、一瞬、理解できないこともあるので、
理解できるはずという前提で落ち着いて考えましょう
という、そんな気持ちを示すための記事です。
要素[0]でIndexError: list index out of range
補足の要素[0]でIndexError: list index out of rangeの意味は、
レンジ外と言われてみ、要素[0]がなんで、レンジ外なの?
という意味です。
#エラーメッセージの例
ここで示すコードは、エラーメッセージを出すためのコードで、
全く同じような間違いをする可能性があるコードではありません。
繰り返します。エラーメッセージを出さすためのコードです。
(ただし、もう少し、ややこしいコードで、同じエラーが出ているのをみたことはあります。)
エラー1
IndexError: list index out of rangeが出るケースです。コードは、以下です。
下記のコードは、意味がありませんが、
(ただし、下記で、bが、関数の戻り値でリストを得ている場合などで、出会うことはあると思います。)
a = [1, 2, 3]
b = []
print("a[0]",a[0])
print("b[0]",b[0])
エラー表示は、以下です。
Traceback (most recent call last):
File "list_err1.py", line 5, in <module>
print("b[0]",b[0])
IndexError: list index out of range
リストbは、[0]すらないというだけのことですが、
繰り返しますが、こんなコードは書かないですが、
bが、**関数の戻り値でリストを得ている場合など、多いにある。**と思いました。
ポイント
IndexError: list index out of rangeには、Indexの指定が悪い場合以外に、
元のオブジェクトがちゃんとできていないケースがある。
関数の戻り値でリストを得ている場合など、多いにある。
#まとめ
エラーメッセージを構成するつくり上、当然の結果だとも思いますが、わかりやすいと感じたので。。。
#関連(本人)
直接はあまり関係ないもの
pythonをストレスなく使う!(generatorに詳しくなる。since1975らしい。)
pythonをストレスなく使う!(Pythonでは、すべてがオブジェクトとして実装されている)
pythonをストレスなく使う!(Pylintに寄り添う)
pythonをストレスなく使う!(ExpressionとStatement)
英語と日本語、両方使ってPythonを丁寧に学ぶ。
#今後
コメントなどあれば、お願いします。
勉強します、、、、