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
Lepaskan: 2024-11-18 08:35:02
asal
1032 orang telah melayarinya

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]))
Salin selepas log masuk

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]))
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan