ソートされたキー引数に Lambda を使用する理由
sorted() 関数では、要素を特定の方法でソートするためにキー引数を指定する必要があります。ラムダ式は、見た目は任意ですが、このコンテキストでは特定の目的を果たします。
Lambda の背後にある直感
- Lambda 関数は通常、単一の関数が必要な場合に使用されます。別の関数を定義せずに -line 関数を使用します。
- それらは次の構文に従います: lambda input_variable(s):expression
ソートされた場合の Lambda の仕組み
- sorted() の Lambda 関数は、並べ替えプロセスをガイドするリスト要素から値を抽出する手順を提供します。
- キー引数は次のように述べています。「リストを反復処理するときに、この関数を使用して各要素を並べ替えに使用される値に変換します。
例
リスト [3, 6, 3, 2, 4, 8, 23] および次のラムダ関数:
lambda x: x % 2 == 0
- このラムダは、リスト内の各要素が偶数であるかどうかをチェックします (x % 2 = = 0).
- Sorted は、このラムダ関数に基づいてリストを変換し、1 (偶数) と 0 (奇数) のシーケンスを生成します: [0, 1, 0, 1, 1, 1, 0]
- 最終的にソートされたリストは次のとおりです: [3, 3, 23, 6, 2, 4, 8]
追加ポイント
- 変換されたリストにブール値が含まれている場合でも、要素の元の順序はサブリスト内に保持されます。
- sorted() 関数は並べ替えを 1 回だけ実行するため、偶数が並べ替えられません。
- Lambda 関数はタプルなどの複雑な要素から値を抽出でき、ネストされた構造を含むリストの並べ替えに役立ちます。
変数の理由: variable[0]
構文 key=lambda 変数: 変数[0] は、各タプルの最初の要素に基づいてタプルのリストを並べ替える場合に使用されます。ここで、variable は各タプルを表し、variable[0] はそのタプル内の最初の要素を表します。
以上がLambda 関数は「sorted()」関数を使用して並べ替えをどのように強化しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。