広告スペース(バナー)
🐍Python レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向8▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 23 / 69
リストの検索(in・次の要素を探す)
このレッスンでは、リストの検索方法としてinとnext()を使い分ける方法を学び、目的に応じたデータの検索ができるようになることを目標にします。「Python リスト 検索」「Python next 使い方」で調べている方向けです。
値 in リストで、その値が含まれているかをTrue/Falseで調べられます。条件に合う最初の要素を探すにはnext()とジェネレータ式を組み合わせます。「リストの中にこの商品はあるか」を調べたいだけならin、「その商品の詳しい情報がほしい」ならnext()、というように目的に応じて使い分けるのが基本です。
サンプルコードでは、"みかん" in fruitsでリストにその値が含まれているかを確認し、next((f for f in fruits if f.startswith("ぶ")), None)で条件に合う最初の要素を探しています。next()の第2引数は「見つからなかった場合のデフォルト値」で、これを指定しないと見つからないときにエラーになってしまいます。
初心者がよくつまずくのが、next()とジェネレータ式の組み合わせという少し複雑な構文です。カッコの中にfor文が書かれた「ジェネレータ式」という書き方に見慣れないうちは、まずリスト内包表記と[0]を組み合わせる書き方から始めてもよいでしょう。
巨大なリストに対して繰り返しinで検索すると遅くなるため、頻繁に検索するデータは集合(set)に変換するのも実務では有効な手段です。IDを指定して該当するデータ1件をリストから探し出す処理は、実際のアプリでも頻繁に登場します。
Python
OUTPUT / 実行結果
💡 初回実行時はPythonエンジンの読み込みに数秒かかります。
🎯
ここまでできればゴール達成!
在庫リストの中から目的の商品があるか調べる、検索機能が作れるようになります。
在庫リストの中から目的の商品があるか調べる、検索機能が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)