Dalam Python, fungsi max() membolehkan anda mencari nilai maksimum dalam sesuatu lelaran yang diberikan . Walau bagaimanapun, menggunakan argumen 'kunci' dan ungkapan lambda memperkenalkan fleksibiliti tambahan untuk menentukan kriteria perbandingan.
Fungsi max() mengambil berbilang argumen dan mengembalikan yang terbesar nilai di antara mereka. Secara lalai, ia membandingkan objek berdasarkan susunan semula jadinya, yang bergantung pada jenis objek.
Argumen 'kunci' menentukan fungsi yang mengubah setiap objek menjadi nilai yang setanding. Ini membolehkan anda mentakrifkan peraturan tersuai untuk membandingkan objek daripada jenis yang sama atau objek daripada jenis yang berbeza.
Ekspresi Lambda ialah fungsi tanpa nama, dinyatakan sebagai blok kod satu baris. Ia biasanya digunakan untuk menentukan fungsi sebaris pendek untuk operasi mudah. Dalam konteks argumen 'kunci', ungkapan lambda mengembalikan nilai yang digunakan oleh fungsi max() untuk membandingkan objek.
Contoh:
Pertimbangkan senarai objek Pemain, setiap satu dengan atribut 'totalScore'.
<code class="python">players = [ Player("Player 1", 100), Player("Player 2", 200), Player("Player 3", 150), ]</code>
Untuk mencari pemain dengan 'totalScore' tertinggi, kita boleh menggunakan:
<code class="python">def winner(): w = max(players, key=lambda p: p.totalScore) return w</code>
Di sini, ungkapan lambda lambda p: p.totalScore mengembalikan atribut 'totalScore' bagi setiap objek Pemain, membolehkan fungsi max() untuk membandingkan pemain berdasarkan markah mereka.
Ringkasnya, fungsi max() dengan 'kunci' dan ungkapan lambda menyediakan mekanisme yang berkuasa untuk mencari nilai maksimum dalam lelaran, membenarkan kriteria pengisihan yang fleksibel dan disesuaikan melebihi pesanan lalai.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan ungkapan lambda dan hujah \'key\' untuk menyesuaikan cara fungsi `max()` Python mencari nilai maksimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!