Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai Python mengikut Pelbagai Medan?
Isih Berbilang Medan dalam Senarai Python
Dalam Python, menyusun senarai mengikut satu medan adalah mudah menggunakan fungsi sorted() dan parameter utama. Namun, bagaimana jika anda perlu mengisih mengikut berbilang medan?
Untuk mengisih senarai mengikut dua medan, anda boleh menggunakan kuasa fungsi lambda. Begini cara untuk melakukannya:
list1 = sorted(csv1, key=operator.itemgetter(1))
Kod ini mengisih senarai mengikut nilai dalam medan 1. Untuk mengisih mengikut nilai dalam medan 1 dan kemudian mengikut nilai dalam medan 2, gunakan fungsi lambda:
sorted_list = sorted(list1, key=lambda x: (x[0], x[1]))
Fungsi lambda ini mencipta tuple yang mengandungi nilai dalam medan 1 dan medan 2 untuk setiap elemen dalam senarai. Fungsi sorted() kemudian mengisih senarai mengikut elemen pertama tuple (medan 1) dan kemudian dengan elemen kedua (medan 2).
Sebagai alternatif, anda boleh mengisih mengikut satu medan menaik dan satu lagi menurun:
sorted_list = sorted(list1, key=lambda x: (x[0], -x[1]))
Kod ini diisih mengikut nilai dalam medan 1 menaik dan nilai dalam medan 2 menurun.
Tidak perlu mengimport sebarang modul tambahan apabila menggunakan fungsi lambda. Kaedah ini menyediakan cara yang fleksibel dan cekap untuk mengisih senarai Python mengikut berbilang medan berdasarkan keperluan khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Python mengikut Pelbagai Medan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!