Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai Kamus mengikut Nilai dalam Python?

Bagaimana untuk Mengisih Senarai Kamus mengikut Nilai dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-12-18 14:01:10780semak imbas

How to Sort a List of Dictionaries by Value in Python?

Mengisih Senarai Kamus mengikut Nilai Kamus dalam Python

Mengisih senarai kamus mengikut nilai kunci tertentu ialah tugas biasa dalam pengaturcaraan Python. Ini membolehkan anda menyusun kamus dalam susunan yang bermakna, seperti mengikut abjad mengikut nama atau mengikut angka mengikut umur.

Penyelesaian

Untuk mengisih senarai kamus mengikut nilai daripada kunci tertentu, anda boleh menggunakan fungsi sorted() dengan parameter key=. Parameter ini mengambil fungsi yang mengekstrak nilai kunci yang diingini daripada setiap kamus.

Menggunakan Fungsi Lambda

Satu cara untuk melakukannya ialah menggunakan fungsi lambda , yang merupakan fungsi tanpa nama tanpa nama. Contohnya, untuk mengisih senarai kamus yang diberikan mengikut kekunci 'nama':

newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])

Menggunakan operator.itemgetter

Sebagai alternatif, bukannya menentukan fungsi anda sendiri , anda boleh menggunakan fungsi operator.itemgetter, yang menyediakan cara yang mudah untuk mengekstrak nilai daripada objek. Contohnya:

from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))

Isih Terbalik

Jika anda ingin mengisih dalam tertib menurun, anda boleh menambah argumen reverse=True pada fungsi sorted():

newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)

Ini akan mengembalikan senarai baharu yang mengandungi kamus yang diisih. Senarai asal kekal tidak diubah suai.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Kamus mengikut Nilai 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