Isih Berbilang Atribut dalam Senarai
Isih senarai mengikut satu atribut adalah mudah menggunakan fungsi sorted() Python dan hujah utama. Walau bagaimanapun, pengisihan mengikut berbilang atribut memberikan cabaran.
Perumusan Masalah:
Bagaimanakah kita boleh mengisih senarai senarai dengan berbilang atribut dengan cepat, seperti yang dinyatakan dalam soalan asal?
Penyelesaian:
Terdapat dua yang cekap kaedah untuk pengisihan berbilang atribut dalam senarai:
Menggunakan Fungsi Lambda sebagai Kunci:
s = sorted(s, key = lambda x: (x[1], x[2]))
Fungsi lambda ini mengambil setiap subsenarai x dan mengembalikan tuple yang mengandungi elemen kedua dan ketiga, dengan berkesan menentukan susunan isihan berdasarkan kedua-duanya atribut.
**Menggunakan operator.itemgetter():
import operator s = sorted(s, key = operator.itemgetter(1, 2))
operator.itemgetter() mengembalikan fungsi yang mengekstrak elemen yang ditentukan daripada setiap subsenarai, membolehkan pengisihan berdasarkan berbilang atribut.
Dalam kedua-dua kes, susunan isihan ditentukan mengikut susunan indeks atribut yang dinyatakan dalam fungsi utama atau argumen itemgetter.
Nota Tambahan:
Untuk pengisihan di tempat, anda boleh menggunakan s.sort( ) secara langsung dengan fungsi kekunci yang sesuai:
s.sort(key = operator.itemgetter(1, 2))
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyusun Senarai Senarai dengan Berbilang Atribut dalam Python dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!