ホームページ >バックエンド開発 >Python チュートリアル >Python リスト内の項目のインデックスを効率的に見つけるにはどうすればよいですか?
リストとそのリスト内の項目が与えられた場合、そのインデックスを見つけるのはPython の固有メソッドを使用した簡単なタスク。
リスト クラスの組み込み ".index()" メソッドは、この目的のために調整されています。検索する項目を引数として受け取り、そのゼロから始まるインデックスを返します。
たとえば、リスト ["foo", "bar", "baz"] では、"bar" のインデックスは次のようになります。
>>> ["foo", "bar", "baz"].index("bar") 1</p> <h3>注意事項</h3> <p>「.index()」は便利なアプローチですが、いくつかの点が伴います。制限事項:</p> <p><strong>線形時間計算量:</strong><br>「.index()」メソッドは、一致するものが見つかるまでリストの要素を 1 つずつスキャンします。長いリストでは、これがパフォーマンスのボトルネックになる可能性があります。</p> <p><strong>最初の一致のみが返されます:</strong><br>同じ項目がリスト内に複数回出現する場合、「.index()」は最初に出現したインデックスのみを返します。</p> <p><strong>欠落アイテムの例外:</strong><br>指定された項目がリストにない場合、「.index()」は「ValueError」を発生させます。</p> <h3>代替案</h3> <p>これらの制限に問題がある可能性がある状況では、次の代替案を検討してください。</p> <p><strong>リスト内包表記またはジェネレーター式:</strong><br>これらの手法により、項目を検索する際の柔軟性が向上します。インデックス。例:</p> <pre class="brush:php;toolbar:false">[i for i, e in enumerate([1, 2, 1]) if e == 1]
「in」演算子と列挙:
この組み合わせにより、項目の存在の確認とインデックスの取得を同時に行うことができます:
for i, e in enumerate([1, 2, 1]): if e == 1: print(i)
Byこれらのニュアンスを理解することで、開発者はコード内で Python のリスト インデックス機能を効果的に活用できます。
以上がPython リスト内の項目のインデックスを効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。