Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda boleh menggunakan hujah `key` dan ungkapan lambda untuk menyesuaikan perbandingan dalam fungsi `maks` Python?
Memahami Fungsi maks Python dengan kunci dan Ungkapan Lambda
Fungsi maks dalam Python digunakan untuk mencari nilai maksimum daripada jujukan yang diberikan. Apabila berurusan dengan struktur data yang kompleks, seperti objek tersuai, mungkin perlu untuk menentukan kriteria perbandingan di luar susunan leksikografi lalai. Di sinilah hujah utama dimainkan.
Menggunakan kunci untuk Menyesuaikan Perbandingan
Parameter utama dalam maks mengambil boleh panggil yang menentukan cara setiap elemen dalam jujukan harus dibandingkan. Boleh panggil ini menerima elemen sebagai hujah dan mengembalikan nilai yang digunakan untuk perbandingan. Contohnya:
<code class="python">players = [ Player("John", totalScore=100), Player("Jane", totalScore=150), Player("Tom", totalScore=75) ] def winner(): w = max(players, key=lambda p: p.totalScore)</code>
Dalam contoh ini, ungkapan lambda ialah fungsi tanpa nama yang mengembalikan atribut totalScore bagi objek Pemain. Ini membolehkan maksimum membandingkan pemain berdasarkan markah mereka, mengembalikan kejadian dengan skor tertinggi.
Memahami Ungkapan Lambda
Ekspresi Lambda ialah fungsi tanpa nama yang ditakrifkan sebaris tanpa penggunaan kata kunci def. Sintaks mereka adalah seperti berikut:
lambda parameters: expression
Ekspresi Lambda mempunyai beberapa kelebihan:
Dalam contoh di atas, ungkapan lambda:
<code class="python">lambda p: p.totalScore</code>
bersamaan dengan fungsi yang dinamakan berikut:
<code class="python">def get_score(p): return p.totalScore</code>
Faedah Menggunakan Kekunci dan Ungkapan Lambda
Menggunakan hujah utama bersama-sama dengan ungkapan lambda menawarkan beberapa faedah :
Nota Tambahan
Atas ialah kandungan terperinci Bagaimanakah anda boleh menggunakan hujah `key` dan ungkapan lambda untuk menyesuaikan perbandingan dalam fungsi `maks` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!