Mengisih Senarai Senarai dalam Susunan Menurun dan Menaik
Memandangkan senarai senarai dengan dua elemen, matlamatnya adalah untuk mengisih senarai pertama dalam tertib menurun berdasarkan elemen pertama, dan kemudian dalam tertib menaik berdasarkan elemen kedua.
Untuk mencapai ini, kita boleh menggunakan kaedah sort() bersama-sama dengan fungsi kunci tersuai. Berikut ialah penyelesaian:
<code class="python">L = [['a',1], ['a',2], ['a',3], ['b',1], ['b',2], ['b',3]] L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>
Argumen utama kaedah sort() menentukan fungsi yang menentukan susunan isihan. Dalam kes ini, kami mentakrifkan fungsi lambda yang mengambil senarai k dan mengembalikan tuple. Elemen pertama tuple ialah elemen pertama senarai k[0], yang digunakan untuk pengisihan menurun. Elemen kedua ialah penafian elemen kedua senarai -k[1], yang digunakan untuk pengisihan menaik.
Dengan mengisih dalam tertib menurun dahulu, reverse=True memastikan elemen pertama setiap senarai ('a' atau 'b') diisih mengikut susunan abjad terbalik. Selepas itu, pengisihan menaik bagi elemen kedua menghasilkan senarai keseluruhan yang diisih sebagai:
[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
Ini secara berkesan mencapai kriteria pengisihan yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Senarai dalam Susunan Menurun dan Menaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!