Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Liste von Wörterbüchern in Python nach einem bestimmten Schlüssel sortieren?
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!