Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai Python mengikut Pelbagai Medan Menggunakan `diisih()` dan Ungkapan Lambda?
Isih Senarai Python mengikut Pelbagai Medan
Jika anda mempunyai senarai yang dibuat daripada fail CSV yang diisih menggunakan sorted(), anda mungkin mahu untuk menyusun lagi senarai mengikut kriteria tambahan. Untuk mengisih senarai Python mengikut dua medan, anda boleh menggunakan gabungan fungsi sorted() dan ungkapan lambda.
Dalam kes anda, anda boleh mengisih senarai senarai1 mengikut nilai dalam medan 1 dan kemudian mengikut nilai dalam medan 2 menggunakan kod berikut:
sorted_list = sorted(list1, key=lambda x: (x[0], x[1]))
Argumen utama dalam sorted() mengambil fungsi yang menentukan susunan isihan. Dalam kes ini, fungsi lambda mengembalikan satu tuple nilai yang digunakan untuk mengisih. Elemen pertama tuple ialah nilai dalam medan 1 dan elemen kedua ialah nilai dalam medan 2.
Untuk mengisih mengikut satu medan menaik dan medan lain menurun, anda boleh menggunakan nilai negatif dalam fungsi lambda . Contohnya, untuk mengisih mengikut medan 1 menaik dan medan 2 menurun, gunakan kod berikut:
sorted_list = sorted(list1, key=lambda x: (x[0], -x[1]))
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Python mengikut Pelbagai Medan Menggunakan `diisih()` dan Ungkapan Lambda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!