【Python】「IndexError:list index out of range」とは?原因や例外処理する方法

この記事では、 IndexError:list index out of range というエラーメッセージの意味や、そのよくある原因と対処法について解説します。

Pythonプログラミング初心者の方にとって、リストのインデックスが範囲外になるエラーの理解と対処方法をわかりやすく説明します。

目次から探す

「IndexError:list index out of range」の意味とは?

IndexError:list index out of range とは、Pythonプログラムでよく見かけるエラーメッセージの一つです。

このエラーメッセージは、リストのインデックスが範囲外になっていることを示しています。

具体的には、リストの要素にアクセスする際に指定したインデックスが、リストの範囲外にある場合に発生します。

IndexErrorのよくある原因と対処法

IndexErrorは、リストや配列のインデックスが範囲外になった場合に発生するエラーです。

このセクションでは、IndexErrorがよく発生する原因とその対処法について説明します。

リストのインデックスが範囲外の場合

リストのインデックスが範囲外になると、IndexErrorが発生します。

例えば、リストの長さが5であるのに、インデックス6を指定した場合などです。

my_list = [1, 2, 3, 4, 5]
print(my_list[6])  # IndexError: list index out of range

このような場合、対処法としては、事前にリストの長さを確認するか、例外処理を行うことが考えられます。

my_list = [1, 2, 3, 4, 5]
index = 6
if index < len(my_list):
    print(my_list[index])
else:
    print("インデックスが範囲外です")

リストが空の場合

空のリストに対してインデックスを指定すると、IndexErrorが発生します。

my_list = []
print(my_list[0])  # IndexError: list index out of range

この場合、リストが空であることを事前に確認するか、例外処理を行うことが必要です。

my_list = []
index = 0
if len(my_list) > 0:
    print(my_list[index])
else:
    print("リストが空です")

リストの要素が不足している場合

リストの要素が不足している場合にも、IndexErrorが発生することがあります。

例えば、リストの長さが5であるのに、インデックス10を指定した場合などです。

my_list = [1, 2, 3, 4, 5]
print(my_list[10])  # IndexError: list index out of range

この場合、リストの長さを事前に確認するか、例外処理を行うことが必要です。

my_list = [1, 2, 3, 4, 5]
index = 10
if index < len(my_list):
    print(my_list[index])
else:
    print("インデックスが範囲外です")

以上が、IndexErrorがよく発生する原因と対処法の一部です。

プログラムを書く際には、リストや配列のインデックスに注意し、適切な例外処理を行うことが重要です。

目次から探す