Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh menyusun Senarai Python mengikut Pelbagai Medan?

Bagaimanakah saya boleh menyusun Senarai Python mengikut Pelbagai Medan?

DDD
DDDasal
2024-11-18 08:35:021054semak imbas

How Can I Sort a Python List by Multiple Fields?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn