\

Pythonでは、lambdaという機能を使ってリストから特定の条件に合致する要素を検索することができます。これはJavaScriptのArray.prototype.find()に似た操作で、非常に便利な機能です。

まず、lambdaとは何か、簡単に説明します。lambdaは無名関数を定義するための機能で、以下のような形式で書きます。

lambda 引数: 返り値

これは、以下の関数定義と同等です。

def func(引数):
    return 返り値

では、lambdaを使ってリストから要素を検索する方法を見てみましょう。以下に、リストから特定の条件に合致する最初の要素を検索する例を示します。

fruits = ["apple", "lemon", "melon", "orange"]
elm = next(filter(lambda x: x.endswith("n"), fruits), None)
print(elm)  # "lemon"

このコードでは、filter関数とlambdaを組み合わせて、リストfruitsから末尾が”n”で終わる最初の要素を検索しています。filter関数は、第1引数に関数(ここではlambdaで定義した無名関数)、第2引数にリストを取り、リストの各要素に対して関数を適用します。関数の結果が真となる要素だけを抽出し、その結果をイテレータとして返します。

next関数は、イテレータから次の要素を取り出します。イテレータが要素を返さない場合(つまり、条件に合致する要素がない場合)には、next関数の第2引数で指定したデフォルト値(ここではNone)が返されます。

以上が、Pythonのlambdaを使ってリストから要素を検索する基本的な方法です。この機能を理解して使いこなすことで、Pythonプログラミングの幅が広がります。

投稿者 admin

コメントを残す

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