Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Liste von Wörterbüchern in Python nach einem bestimmten Schlüssel sortieren?

Wie kann ich eine Liste von Wörterbüchern in Python nach einem bestimmten Schlüssel sortieren?

DDD
DDDOriginal
2024-12-31 12:49:14580Durchsuche

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

Sortieren von Wörterbüchern in Python

Das Sortieren einer Liste von Wörterbüchern basierend auf dem Wert eines bestimmten Schlüssels ist eine häufige Aufgabe. Betrachten wir eine Liste von Wörterbüchern mit Namen und Alter:

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

Um diese Liste nach Namen in aufsteigender Reihenfolge zu sortieren, können wir die Funktion sorted() mit dem Schlüsselparameter verwenden. Mit dem Schlüsselparameter können wir eine Funktion angeben, die die Sortierreihenfolge bestimmt.

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

In diesem Fall definieren wir eine Lambda-Funktion, die den Wert „Name“ aus jedem Wörterbuch extrahiert und diesen Wert zum Sortieren verwendet. Das sortierte Ergebnis lautet:

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

Alternativ können wir „operator.itemgetter“ verwenden, anstatt eine benutzerdefinierte Funktion zu definieren. Itemgetter gibt einen Callable zurück, der ein bestimmtes Feld aus jedem Wörterbuch extrahiert.

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

Dies führt auch zum gleichen sortierten Ergebnis wie zuvor.

Schließlich können wir die Liste in absteigender Reihenfolge sortieren set reverse=True in der Funktion sorted().

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

Dadurch wird die Liste wie folgt sortiert:

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

Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste von Wörterbüchern in Python nach einem bestimmten Schlüssel sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn