Pythonのリストから条件に合致する要素を検索する方法について説明します。この記事では、filter関数とジェネレータ式を使用した方法を中心に解説します。

filter関数を用いた方法

filter関数はラムダ式で記述された無名関数を第1引数で受け取り、それを第2引数のリストの各要素に適用します。結果が真となった要素を抽出してイテレータが返されるので、list関数を適用すればリストとして結果が得られます。

fruits = ["apple", "lemon", "melon", "orange"]
lst = list(filter(lambda x: x.endswith("n"), fruits))
assert lst == ["lemon", "melon"]

ジェネレータ式による方法

ジェネレータ式とは、リスト内包表記のような記法でジェネレータを定義する式です。ジェネレータとはイテレータを返すものなので、next関数に渡すことができます。

elm = next((f for f in fruits if f.endswith("n")), None)
assert elm == "lemon"

以上、Pythonのリストから条件に合致する要素を検索する方法について解説しました。これらの方法を活用して、Pythonプログラミングをより効率的に行ってください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です