Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Isih Senarai Kamus mengikut Nilai Kunci Tertentu dalam Python?

Bagaimanakah Saya Boleh Isih Senarai Kamus mengikut Nilai Kunci Tertentu dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-12-24 13:54:14821semak imbas

How Can I Sort a List of Dictionaries by a Specific Key's Value in Python?

Isih Senarai Kamus mengikut Nilai Kamus dalam Python

Isih senarai kamus berdasarkan nilai kunci tertentu boleh timbul dalam pelbagai senario pengaturcaraan. Pertimbangkan senarai contoh kamus yang mewakili individu dan umur mereka:

input_list = [{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]

Isih senarai ini mengikut nama akan menghasilkan output berikut:

sorted_list = [{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]

Penyelesaian:

Fungsi sorted() Python menyediakan cara yang mudah untuk mengisih struktur data dengan menggunakan pengisihan tersuai peraturan. Untuk mengisih senarai kamus mengikut nilai kunci tertentu, gunakan parameter key=.

Kaedah 1: Menggunakan Fungsi Lambda

Parameter key= mengharapkan fungsi yang mengambil kamus sebagai input dan mengembalikan nilai kunci yang digunakan untuk mengisih. Kod berikut menggunakan fungsi lambda:

sorted_list = sorted(input_list, key=lambda d: d['name'])

Kaedah 2: Menggunakan itemgetter

Sebagai alternatif kepada mentakrifkan fungsi lambda, anda boleh menggunakan operator.itemgetter () fungsi:

from operator import itemgetter
sorted_list = sorted(input_list, key=itemgetter('name'))

Isih dalam Menurun Tertib

Untuk mengisih dalam tertib menurun, nyatakan reverse=True dalam fungsi sorted():

sorted_list = sorted(input_list, key=itemgetter('name'), reverse=True)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Senarai Kamus mengikut Nilai Kunci Tertentu 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