匿名とは、名前がないことを意味します。現時点では、Python で匿名関数を使用することができます。
例を使用して、ラムダ関数の簡単な使用法を紹介します。変数 m は、m の二乗の合計を返すために使用する必要があります。つまり、2 を入力すると、戻り値が返されます。値は 4 です。
コードは次のとおりです。
m=int(input('数値を入力してください:'))#m は入力値です a=lambdax:x*x#変数 a を使用して式を作成します print('戻り値は:',a(m) )
出力は次のとおりです。
数値を入力してください: 6。戻り値: 36
以下の図を通してその構造を見てみましょう。
例を通して無名関数を使用してみましょう。
m=int(input('数値を入力してください:'))#m は入力値です a=lambdax:x+10*10+x*xprint('戻り値は:',a(m))
出力は次のとおりです。
数値を入力してください: 5。戻り値: 130
上記の 2 つの例から、ラムダ式は関数を 1 行のコードに圧縮し、変数の定義を通じて関数を直接呼び出すことと同等であることがわかります。この方法によりコードが簡素化されます。
匿名関数をシーケンス内で使用することもできます。次の例を参照してください。
リストは [1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99] であることが知られており、その中の偶数を返す必要があります。そしてそれらをリスト間に保存します。
フィルター機能を使用してフィルターをかけることができます。
コードは次のとおりです。
my_list=[1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99]print(list(filter(lambdax:x%2==0,私のリスト)))
出力は次のとおりです。
[4,6,12,28,36,38,56,88]
この式を内側から外側に向かって分析します。filter ()関数の前者のオブジェクトはフィルタリング メソッドであり、後者はフィルタリングするオブジェクトです。次に、list() 関数を使用してこれらのデータをリストに保存します。この方法は、データを迅速に統合するのに役立ちます。
ソート時に匿名関数を使用してルールを策定することもできます。
まず、リストのセットが [('タプル A',15,33), ('タプル B',25,26), ('タプル C',7,7)] であることがわかります。要素には、各タプルの名前と最小値と最大値が含まれています。各人のタプルの最大値と最小値の差に従ってリストを並べ替える必要があります。次のコードを参照してください。
my_list=[('タプル A',15,33),('タプル B',25,26),('タプル C',7,7)]my_list.sort(key=lambdax:x[2 ]-x [1])# key キーワードを使用してソート方法を導入します。ソート方法は 3 番目の要素と 2 番目の要素の差に基づいています。対応するインデックスは 2 と 1print(my_list) です。
出力構造は次のとおりです。
[('タプル C',7,7),('タプル B',25,26),('タプル A',15,33)]
最初に簡単な計算を行うことができます。それらの差はそれぞれ 18、1、0 であるため、順序は C、B、A になるはずです。ラムダ式で返される結果 x[2]-x[1] が得られます。それらの違いを確認し、その違いに従って並べ替えます。
匿名関数は、データをフィルタリングするときに特に重要です。これらは、複雑で面倒なデータの問題を迅速に解決するのに役立ちます。同時に、コードを最適化し、コード全体をより簡潔にすることができます。セクションでは、関数で 3 つの基本的な関数を学習します。