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プログラミングをより効率的に行ってください。