Mengisih Senarai Python mengikut Pelbagai Medan
Apabila bekerja dengan senarai yang diisih, anda mungkin perlu mengisih mengikut berbilang kriteria. Ini menjadi penting apabila terdapat ikatan dalam kekunci isihan pertama dan anda ingin memecahkannya menggunakan kekunci kedua.
Untuk mengisih senarai mengikut dua medan dalam Python, anda boleh menggunakan fungsi lambda dengan sorted() fungsi. Ini membolehkan anda menentukan berbilang kunci isihan dalam satu ungkapan.
list1 = sorted(csv1, key=lambda x: (x[0], x[1]))
Dalam contoh ini, senarai diisih mengikut nilai dalam medan 1, dan kemudian mengikut nilai dalam medan 2. Fungsi lambda mengambil item sebagai input dan mengembalikan tuple nilai medan pertama dan nilai medan kedua. Fungsi sorted() kemudian mengisih senarai berdasarkan tupel yang dikembalikan.
Anda juga boleh menggunakan teknik ini untuk mengisih mengikut satu medan menaik dan medan lain menurun:
sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))
Dalam contoh ini , senarai diisih mengikut nilai medan pertama, dan kemudian dengan nilai medan kedua dalam tertib menurun (kerana tanda negatif). Ini boleh berguna apabila anda ingin mengisih mengikut nilai tertinggi dalam medan kedua untuk setiap nilai unik dalam medan pertama.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menyusun Senarai Python mengikut Pelbagai Medan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!