Sortieren einer Liste von Wörterbüchern nach Wörterbuchwert in Python
Das Sortieren einer Liste von Wörterbüchern basierend auf dem Wert eines bestimmten Schlüssels kann in erfolgen verschiedene Programmierszenarien. Betrachten Sie eine Beispielliste von Wörterbüchern, die Personen und ihr Alter darstellen:
input_list = [{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
Das Sortieren dieser Liste nach Namen führt zu der folgenden Ausgabe:
sorted_list = [{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]
Lösung:
Die Funktion sorted() von Python bietet eine praktische Möglichkeit, Datenstrukturen durch Anwenden einer benutzerdefinierten Sortierregel zu sortieren. Um eine Liste von Wörterbüchern nach dem Wert eines bestimmten Schlüssels zu sortieren, verwenden Sie den Parameter key=.
Methode 1: Verwenden einer Lambda-Funktion
Der Parameter key= erwartet eine Funktion das ein Wörterbuch als Eingabe verwendet und den Wert des zum Sortieren verwendeten Schlüssels zurückgibt. Der folgende Code verwendet eine Lambda-Funktion:
sorted_list = sorted(input_list, key=lambda d: d['name'])
Methode 2: Verwenden von itemgetter
Alternativ zur Definition einer Lambda-Funktion können Sie den Operator.itemgetter verwenden () Funktion:
from operator import itemgetter sorted_list = sorted(input_list, key=itemgetter('name'))
Absteigend sortieren Reihenfolge
Um in absteigender Reihenfolge zu sortieren, geben Sie reverse=True in der Funktion sorted() an:
sorted_list = sorted(input_list, key=itemgetter('name'), reverse=True)
Das obige ist der detaillierte Inhalt vonWie kann ich in Python eine Liste von Wörterbüchern nach dem Wert eines bestimmten Schlüssels sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!