Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai mengikut Pelbagai Atribut dalam Python?

Bagaimana untuk Mengisih Senarai mengikut Pelbagai Atribut dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-02 22:02:39888semak imbas

How to Sort Lists by Multiple Attributes in Python?

Isih Senarai mengikut Pelbagai Atribut: Panduan Komprehensif

Isih data ialah aspek asas bagi banyak tugas pengaturcaraan. Apabila berurusan dengan struktur data yang kompleks, selalunya menjadi perlu untuk mengisih berdasarkan berbilang atribut. Artikel ini membincangkan persoalan mengisih senarai senarai berdasarkan berbilang kriteria.

Coretan kod yang disediakan menunjukkan senarai senarai, dengan setiap senarai dalam mewakili objek dengan pelbagai atribut. Matlamatnya ialah untuk mengisih senarai ini mengikut dua atribut: atribut "tinggi" atau "pendek" dan atribut warna.

Menggunakan Itemgetter untuk Isih Berbilang Kriteria

Itemgetter ialah fungsi yang berguna untuk mengindeks berbilang atribut dalam tuple. Ia memerlukan berbilang indeks sebagai argumen dan mengembalikan fungsi yang mengekstrak atribut tersebut daripada tupel tertentu. Menggunakan itemgetter, anda boleh mencipta fungsi utama yang mempertimbangkan kedua-dua atribut "tinggi/pendek" dan atribut warna untuk mengisih:

import operator

s = sorted(s, key = operator.itemgetter(1, 2))

Menggunakan Fungsi Lambda untuk Pemilihan Atribut Utama

Cara lain untuk tentukan fungsi utama untuk pengisihan ialah menggunakan fungsi lambda. Fungsi Lambda ialah fungsi tanpa nama yang boleh ditakrifkan sebaris. Fungsi lambda berikut mengembalikan tuple atribut "tinggi/pendek" dan warna:

s = sorted(s, key = lambda x: (x[1], x[2]))

Menggunakan salah satu kaedah ini, anda boleh mengisih senarai berdasarkan berbilang kriteria. Hasilnya ialah senarai senarai yang diisih mengikut atribut yang ditentukan.

Isih Langsung

Dalam coretan kod yang diberikan, diisih digunakan untuk mengembalikan senarai diisih baharu. Walau bagaimanapun, anda juga boleh mengisih senarai itu sendiri secara langsung menggunakan kaedah isihan. Ini akan mengubah suai senarai asal yang ada:

s.sort(key = operator.itemgetter(1, 2))

Kesimpulan

Dengan menggunakan fungsi itemgetter atau lambda, anda boleh menentukan fungsi utama untuk mengisih senarai mengikut berbilang atribut. Teknik ini amat berguna apabila berurusan dengan struktur data yang kompleks dan boleh memudahkan proses pengisihan.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai mengikut Pelbagai Atribut dalam Python?. 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
Artikel sebelumnya:Peta Jalan Jurutera MLArtikel seterusnya:Peta Jalan Jurutera ML