Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah sintaks `sorted(key=lambda: ...)` berfungsi dalam Python?

Bagaimanakah sintaks `sorted(key=lambda: ...)` berfungsi dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 08:59:03245semak imbas

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

Memahami Sintaks sorted(key=lambda: ...)

Fungsi sorted() dalam Python membolehkan anda mengisih senarai berdasarkan kunci pengisihan tersuai. Argumen utama mengambil boleh panggil yang menentukan cara setiap elemen harus dibandingkan untuk pengisihan. Apabila boleh panggil ini ialah fungsi lambda, sintaksnya mengikut corak tertentu:

key=lambda variable: variable[index]

Sintaks Fungsi Lambda

Fungsi lambda ialah fungsi tanpa nama, ditakrifkan menggunakan lambda , yang menerima pembolehubah atau berbilang pembolehubah sebagai input dan melakukan pengiraan atau operasi. Sintaks fungsi lambda ialah:

lambda input_variable(s): expression

Argumen Utama dalam sorted()

Argumen utama dalam sorted() mengambil yang boleh dipanggil, dan dalam kes kami , yang boleh dipanggil ialah fungsi lambda. Fungsi lambda digunakan pada setiap elemen dalam senarai, dan hasilnya digunakan untuk membandingkan elemen untuk pengisihan.

Memahami Sintaks

Pembolehubah dalam fungsi lambda diperuntukkan kepada setiap elemen senarai apabila fungsi itu berulang melalui senarai. Pembolehubah diikuti oleh titik bertindih (:), yang diikuti dengan ungkapan yang mengekstrak nilai yang akan digunakan untuk mengisih. Dalam contoh yang disediakan, ungkapan sedang mengakses elemen pertama setiap elemen dalam senarai, diwakili sebagai pembolehubah[0].

Mengapa "pembolehubah" Dinyatakan Dua Kali

Pembolehubah dinyatakan dua kali kerana fungsi lambda menggunakan satu titik bertindih (:) sebagai pemisah antara pembolehubah input dan ungkapan. Pembolehubah pertama, sebelum titik bertindih, diberikan elemen senarai, dan pembolehubah kedua, selepas bertindih, diberikan ungkapan yang mengekstrak nilai pengisihan.

Contoh

Pertimbangkan contoh berikut:

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

Dalam contoh ini, fungsi lambda lambda x: x[0] mengekstrak elemen pertama setiap tupel dalam senarai saya. Senarai yang diisih kemudiannya akan disusun mengikut elemen pertama tupel dalam tertib menaik.

Kesimpulan

Sintaks sorted(key=lambda: ...) melibatkan penggunaan fungsi lambda untuk menentukan kunci pengisihan tersuai. Fungsi lambda menerima pembolehubah input, yang diperuntukkan kepada setiap elemen senarai, dan mengekstrak nilai daripada elemen itu untuk digunakan untuk mengisih. Memahami sintaks ini dan gelagat fungsi lambda dalam fungsi sorted() adalah penting untuk mengisih senarai dengan berkesan berdasarkan kriteria tersuai.

Atas ialah kandungan terperinci Bagaimanakah sintaks `sorted(key=lambda: ...)` berfungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn