Mengisih Senarai Senarai dengan Susunan Bercampur
Memandangkan senarai senarai dengan dua elemen, menyusunnya dalam susunan tertentu boleh menjadi mencabar. Biasanya, pengisihan dilakukan menggunakan satu kriteria. Walau bagaimanapun, dalam kes ini, kita perlu mengisih berdasarkan elemen pertama dalam tertib menurun dan elemen kedua dalam tertib menaik.
Untuk mencapai pengisihan bercampur ini, kita boleh menggunakan fungsi lambda dan kaedah isihan dalam Python. Hujah utama kaedah isihan mengambil fungsi yang menentukan susunan isihan. Fungsi yang kami sediakan akan mempertimbangkan kedua-dua elemen setiap senarai.
Untuk mencipta kunci gabungan yang mengendalikan kedua-dua elemen, kita boleh menggunakan fungsi lambda berikut:
<code class="python">lambda k: (k[0], -k[1])</code>
Di sini, kami menggunakan tuple untuk menggabungkan kedua-dua elemen. Elemen pertama mewakili elemen pertama senarai, dan elemen kedua ialah negatif elemen kedua. Penafian ini memastikan tertib menurun untuk elemen kedua.
Sekarang, kita boleh menggunakan fungsi lambda ini dalam kaedah isihan:
<code class="python">L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>
Argumen terbalik=True menentukan bahawa pengisihan harus dilakukan dalam susunan terbalik, yang sejajar dengan keperluan kami untuk tertib menurun untuk elemen pertama.
Hasilnya, senarai L akan diisih dengan elemen pertama menurun dan elemen kedua menaik:
<code class="python">[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]</code>
Atas ialah kandungan terperinci Bagaimana untuk Isih Senarai Senarai dengan Susunan Bercampur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!