ホームページ >バックエンド開発 >Python チュートリアル >`sorted(key=lambda: ...)` 構文は Python ではどのように機能しますか?

`sorted(key=lambda: ...)` 構文は Python ではどのように機能しますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-27 08:59:03342ブラウズ

How does the `sorted(key=lambda: ...)` syntax work in Python?

sorted(key=lambda: ...) の構文を理解する

Python のsorted() 関数を使用すると、カスタムソートキーに基づいたリスト。 key 引数は、並べ替えのために各要素を比較する方法を指定する呼び出し可能オブジェクトを取ります。この呼び出し可能関数がラムダ関数である場合、その構文は特定のパターンに従います。

key=lambda variable: variable[index]

ラムダ関数の構文

ラムダ関数は、ラムダを使用して定義された匿名関数です。 、1 つまたは複数の変数を入力として受け入れ、計算または演算を実行します。ラムダ関数の構文は次のとおりです。

lambda input_variable(s): expression

sorted() のキー引数

sorted() のキー引数は呼び出し可能なものを受け取ります。この場合、 、呼び出し可能なものはラムダ関数です。ラムダ関数はリスト内の各要素に適用され、その結果は並べ替えのための要素の比較に使用されます。

構文の理解

ラムダ関数の変数関数がリストを反復処理するときに、リストの各要素に割り当てられます。変数の後にはコロン (:) が続き、その後に並べ替えに使用する値を抽出する式が続きます。この例では、式は、variable[0] として表されるリスト内の各要素の最初の要素にアクセスしています。

「variable」が 2 回記述される理由

ラムダ関数は入力変数と式の間の区切り文字として単一のコロン (:) を使用するため、変数が 2 回記述されています。コロンの前の最初の変数にはリストの要素が割り当てられ、コロンの後の 2 番目の変数には並べ替え値を抽出する式が割り当てられます。

Example

次の例を考えてみましょう:

<code class="python">mylist = [(3, 6), (2, 5), (1, 4)]
sorted(mylist, key=lambda x: x[0])</code>

この例では、ラムダ関数 lambda x: x[0] が mylist 内の各タプルの最初の要素を抽出します。ソートされたリストは、タプルの最初の要素によって昇順に並べられます。

結論

sorted(key=lambda: ...) の構文ラムダ関数を使用してカスタムの並べ替えキーを定義する必要があります。ラムダ関数は、リストの各要素に割り当てられる入力変数を受け取り、その要素から並べ替えに使用する値を抽出します。この構文と、sorted() 関数内のラムダ関数の動作を理解することは、カスタム基準に基づいてリストを効果的に並べ替えるために重要です。

以上が`sorted(key=lambda: ...)` 構文は Python ではどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。