Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai Python mengikut Pelbagai Medan Menggunakan `diisih()` dan Ungkapan Lambda?

Bagaimana untuk Mengisih Senarai Python mengikut Pelbagai Medan Menggunakan `diisih()` dan Ungkapan Lambda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 19:28:171087semak imbas

How to Sort a Python List by Multiple Fields Using `sorted()` and Lambda Expressions?

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!

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