.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. Python
  5. [Python]list index out of rangeの原因とその対処方法|ソースコードを交えて詳しく解説!

[Python]list index out of rangeの原因とその対処方法|ソースコードを交えて詳しく解説!

  • Python
  • プログラミング言語
公開日時:   更新日時:
[Python]list index out of rangeの原因とその対処方法|ソースコードを交えて詳しく解説!
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    システム
    エンジニア
    list index out of rangeの対処方法を教えてください。

    プロジェクト
    マネージャー
    list index out of rangeの対処方法を原因も合わせて紹介します。

    [Python]list index out of rangeの原因とその対処方法


    今回は、Pythonでの「list index out of range」の原因とその対策について紹介します。
    listに対して範囲外のインデックスにアクセスすると、「list index out of range」例外が発生します。その対処方法について、ソースコードを交えて紹介します。

    興味のある方はぜひご覧ください。

    原因

    「list index out of range」を発生させてみます。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    範囲外にアクセスしているので、IndexErrorが発生します。

    以下のようなコーディングミスも良くあります。

    実行結果は以下のようになります。配列の最終要素はmylist[len(mylist)]ではなくmylist[len(mylist)-1]なので、IndexErrorが発生します。

    対処

    「list index out of range」の対処方法を紹介します。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    rangeを使ったり、for inでアクセスすることで、IndexErrorが発生しません。

    配列の結合

    「list index out of range」の事例を紹介します。配列を結合したいケースです。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。appendでIndexErrorが発生します。append(y[i])と記述すると、y[6]、y[7]…となります。そのため、IndexErrorとなります。

    この場合、以下のように対処します。

    実行結果は以下のようになります。間違えやすいので注意してください。

    無視

    「list index out of range」を無視する方法を紹介します。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。3つめの要素がないものもあるので、IndexErrorが発生します。

    この場合、以下のように対処します。

    実行結果は以下のようになります。

    lengthを確認して表示しています。

    以下のような対処方法もあります。空タプルか否かをチェックしています。

    実行結果は以下のようになります。

    例外処理を利用する方法もあります。

    実行結果は以下のようになります。

    配列を辞書に格納

    2次元配列を辞書に格納する方法を紹介します。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    要素が存在しない場合は、空文字が格納されることが分かります。

    システム
    エンジニア
    Pythonでのlist index out of rangeの原因と対処方法がわかりました。

    プロジェクト
    マネージャー
    これを参考に理解を深め、実際にコードを書いてマスターしましょう。

    まとめ

    いかがでしたでしょうか。Pythonでの「list index out of range」の原因とその対策について紹介しました。
    意図せず「list index out of range」に遭遇することはよくあります。デバッグして原因を突き止めることは、最初は困難かもしれませんが、徐々に慣れていくでしょう。

    ぜひご自身でソースコードを書いて、理解を深めてください。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    新着案件New Job