\

Pythonでは、リスト内の要素を検索するためにいくつかの方法があります。ここでは、ラムダ式と組み込み関数を使用した方法を紹介します。

フィルタ関数とラムダ式を使用した方法

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

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

この例では、filter関数とラムダ式を使用して、リストfruits内の各要素(ここでは果物の名前)が"n"で終わるかどうかを判断し、その結果を新しいリストlstに格納しています。

ジェネレータ式とnext関数を使用した方法

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

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

この例では、ジェネレータ式を使用してリストfruits内の各要素が"n"で終わるかどうかを判断し、その結果を変数elmに格納しています。next関数の第2引数には、要素が見つからなかった場合のデフォルト値としてNoneを指定しています。

これらの方法を使用することで、Pythonのリスト内の要素を効率的に検索することができます。

投稿者 admin

コメントを残す

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