シーケンス型(文字列やリスト、タプル)における範囲外の参照について

実現したいこと

シーケンス型において、参照する際に範囲外の範囲を指定してもエラーが起きないのはなぜなのでしょうか?

前提

シーケンス型に対して範囲外での範囲の指定を行うと、エラーが発生せず、空の値が返されるのに、
特定の要素を指定するとIndexErrorになるのは何故なのでしょう?
どちらも範囲外の為、両方エラーとなるなら理解できるのですが。。。
範囲の指定では、範囲外の場合、空データを返すということになるのでしょうか?

自分なりに調べてみたのですが、いまいちその理由がわかりません。
https://atmarkit.itmedia.co.jp/ait/articles/2103/02/news027.html

宜しくお願いいたします。

発生している問題・エラーメッセージ

IndexError Traceback (most recent call last) in 5 r = a[1000:] 6 print(t) ----> 7 a[1000] IndexError: string index out of range

python3

12a = 'SimpleIsBetterThanComplex' 3b = [1,2,3,4] 4t = b[1000:] #範囲外である1000番目から最後までの値をtに格納 5r = a[1000:] 6print(t) ⇒ [] 7a[1000] #範囲外の要素を参照するためIndexErrorの例外発生 8 9 10### 補足情報(FW/ツールのバージョンなど) 11 12 13Python3.8.8

コメントを投稿

0 コメント