ホームページ > バックエンド開発 > Python チュートリアル > Python リスト内の値を効率的に検索して見つけるにはどうすればよいですか?

Python リスト内の値を効率的に検索して見つけるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-11 19:09:02
オリジナル
339 人が閲覧しました

How Can I Efficiently Find and Locate Values Within Python Lists?

リスト内の値の検索: 包括的な Python ガイド

最も簡単なアプローチ

Python のリスト内の要素は、in 演算子を利用することで実現されます。

if item in my_list:
    print("Desired item is in list")
ログイン後にコピー

この手法は完全一致を効率的にチェックし、項目がリスト内に存在する場合は True を返し、見つからない場合は False を返します。ただし、この方法には、特に浮動小数点値を扱う場合、精度の点で制限があります。

代替オプション

基本的なアプローチを超えて、Python は、リストに基づいて値を検索するためのより高度な方法を提供します。特定の条件で:

一致するリストのフィルタリング

リスト内の特定の条件を満たすすべての要素を検索するには、リスト内包表記またはジェネレーター式が多用途のソリューションを提供します:

matches = [x for x in lst if fulfills_some_condition(x)]
matches = (x for x in lst if x > 6)
ログイン後にコピー

このアプローチは、一致する要素を含むリストまたはジェネレーターを効率的に返します。

最初の一致の検索

指定された基準を満たす最初の要素を取得するには、for ループの使用を検討してください。

for x in lst:
    if fulfills_some_condition(x):
        return x
ログイン後にコピー

代わりに、次の関数を使用することもできます。

next(x for x in lst if fulfills_some_condition(x))
ログイン後にコピー

このアプローチでは、最初に見つかった要素が返されるか、一致が見つからない場合は StopIteration 例外が発生します。

アイテムの場所の決定

リストは、指定された要素のインデックスを取得するための Index メソッドを提供します。

[1,2,3].index(2)  # Returns 1
[1,2,3].index(4)  # Raises ValueError
ログイン後にコピー

ただし、重複が存在する場合、index は最小のインデックスを取得します。 enumerate を利用して重複要素のすべてのインデックスを取得することを検討してください:

[i for i,x in enumerate([1,2,3,2]) if x==2]  # Returns [1, 3]
ログイン後にコピー

以上がPython リスト内の値を効率的に検索して見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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