Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai Senarai mengikut Elemen Senarai Dalaman Khusus dalam Python?

Bagaimana untuk Mengisih Senarai Senarai mengikut Elemen Senarai Dalaman Khusus dalam Python?

DDD
DDDasal
2024-11-16 02:01:03987semak imbas

How to Sort a List of Lists by a Specific Inner List Element in Python?

Mengisih Senarai Senarai mengikut Elemen Senarai Dalaman Tertentu

Untuk mengisih senarai senarai berdasarkan indeks tertentu dalam setiap senarai dalaman , Python menyediakan beberapa pendekatan. Satu kaedah yang biasa digunakan melibatkan penggunaan fungsi itemgetter() modul operator.

Penyelesaian Menggunakan itemgetter():

Fungsi itemgetter() daripada modul operator membolehkan anda untuk secara terpilih mengekstrak elemen tertentu daripada senarai atau tupel. Dengan menghantar fungsi itemgetter() sebagai argumen kepada fungsi sorted(), anda boleh mengisih senarai luar mengikut elemen dalaman yang dikehendaki:

from operator import itemgetter

L = [[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
sorted(L, key=itemgetter(2))

Coretan kod ini akan mengisih senarai L berdasarkan elemen rentetan pada indeks kedua setiap senarai dalaman. Senarai diisih yang terhasil ialah:

[[9, 4, 'afsd'], [0, 1, 'f'], [4, 2, 't']]

Penyelesaian Alternatif Menggunakan Fungsi Lambda:

Sebagai alternatif, anda boleh menggunakan fungsi lambda untuk mencapai gelagat pengisihan yang sama:

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

Walau bagaimanapun, dalam kes mudah ini, menggunakan fungsi lambda adalah lebih perlahan berbanding itemgetter().

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Senarai mengikut Elemen Senarai Dalaman Khusus 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