Python エラーの解決: IndexError: リスト インデックスが範囲外です

WBOY
リリース: 2023-08-17 09:21:32
オリジナル
10248 人が閲覧しました

解决Python报错:IndexError: list index out of range

Python エラーの解決策: IndexError: list Index out of range

Python プログラムを作成するときに、さまざまなエラーがよく発生します。一般的なエラーの 1 つは、「 IndexError: list 」です。インデックスが範囲外です。」このエラーは通常、リスト内の存在しないインデックスにアクセスしようとしていることを意味します。この記事では、このエラーの原因を説明し、考えられる解決策をいくつか示します。

最初に、存在しないインデックスにアクセスしようとすると「IndexError: リスト インデックスが範囲外です」エラーをスローする簡単なコード例を見てみましょう:

my_list = [1, 2, 3]
print(my_list[3])
ログイン後にコピー

このコード 、 my_list リストの 4 番目の要素にアクセスしようとしましたが、リストには要素が 3 つしかないため、「IndexError: list Index out of range」エラーが発生します。

このエラーが発生する理由は通常 2 つあります。

  1. リスト範囲を超えるインデックスにアクセスした場合。
  2. 空のリストにアクセスしました。

最初のケースでは、インデックス値がリストの正当な範囲内にあることを確認することで解決できます。リスト要素にアクセスする前に、len() 関数を使用してリストの長さを取得し、インデックス値が範囲を超えていないかどうかを判断できます。上記のコード例を次のように変更します。

my_list = [1, 2, 3]
index = 3

if index < len(my_list):
    print(my_list[index])
else:
    print("索引超出范围")
ログイン後にコピー

この例では、インデックス値とリストの長さを比較することで、インデックスが範囲外にならないことを確認します。インデックスが有効な場合は、対応する要素の値を出力し、そうでない場合は、「インデックスが範囲外です」というプロンプトを出力します。

空のリストにアクセスする 2 番目のケースでは、リストの要素にアクセスする前に、まずリストが空かどうかを確認できます。サンプル コードを次のように変更します。

my_list = []
index = 0

if len(my_list) > 0:
    print(my_list[index])
else:
    print("列表为空")
ログイン後にコピー

この例では、まず len() 関数を使用して、リストの長さが 0 より大きいかどうかを確認します。 0 の場合は、要素へのアクセスを試行します。それ以外の場合は、「リストは空です」というプロンプトが表示されます。

上記の解決策に加えて、考慮できる処理方法が他にもいくつかあります。

  1. try-Except 例外処理メカニズムを使用して、キャッチおよびIndexError を処理します。例は次のとおりです:
my_list = [1, 2, 3]
index = 3

try:
    print(my_list[index])
except IndexError:
    print("索引超出范围")
ログイン後にコピー

この例では、try-excel ステートメント ブロックを使用して IndexError 例外をキャッチします。例外がキャッチされた場合は、Except ## が実行されます。 # ステートメント ブロック内のコード。

    コードを記述するときは、各インデックスの値の範囲を注意深く確認し、リストのインデックス範囲を超えていないことを確認してください。
要約すると、「IndexError: リスト インデックスが範囲外です」エラーが発生した場合は、リスト範囲を超えるインデックスにアクセスする場合と空のリストにアクセスする場合の 2 つの状況を考慮する必要があります。このエラーを解決するには、条件判定、

len() 関数、例外処理などを使用できます。同時に、コードを記述するときは、このエラーを回避するためにインデックスの値の範囲を注意深く確認する必要があります。

この記事の解決策が「IndexError: list Index out of range」エラーの解決に役立つことを願っています。

以上がPython エラーの解決: IndexError: リスト インデックスが範囲外ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート