Liste der Wörterbücher in Python sortieren
-
Verwenden Sie die Funktion
sorted()
, um eine Liste von Wörterbüchern in Python zu sortieren -
Verwenden Sie die Funktion
sort()
, um eine Liste von Wörterbüchern in Python zu sortieren
Eine Liste ist ein lineares Sammlungsobjekt in Python, das Arrays emulieren kann, indem es jedes Element an einem bestimmten Index speichert. Listen können auch andere Objekte speichern, wie Wörterbücher, die Schlüssel-Wert-Paare enthalten.
Dieses Tutorial veranschaulicht, wie Sie eine Liste von Wörterbüchern in Python sortieren.
Verwenden Sie die Funktion sorted()
, um eine Liste von Wörterbüchern in Python zu sortieren
Diese Funktion nimmt eine vorhandene Liste und gibt eine sortierte Liste zurück. Es kann die Liste in aufsteigender oder absteigender Reihenfolge sortieren. Wir können auch einen Schlüssel
-Parameter angeben, der eine Funktion bereitstellt, um die Reihenfolge der Elemente zu bestimmen.
Wir können einen Vorteil erzielen, indem wir die Funktion sorted()
verwenden, um die Liste der Wörterbücher zu sortieren. Es ist jedoch nicht einfach, Wörterbuchinstanzen mit dem Vergleichsoperator zu vergleichen; wir müssen den key
-Parameter verwenden.
Wir können eine Liste basierend auf dem Wert des Schlüssels
sortieren. Eine weitere Bedingung dafür ist, dass dieser Schlüssel
allen Wörterbüchern in der Liste gemeinsam ist.
Sehen wir uns nun ein Beispiel dafür an.
lst = [{"n": 1}, {"n": 4}, {"n": 2}]
print(sorted(lst, key=lambda d: d["n"]))
Ausgang:
[{'n': 1}, {'n': 2}, {'n': 4}]
Das obige Beispiel hat Wörterbücher mit demselben Schlüssel, n
, die wir basierend auf dem Wert dieses Schlüssels sortieren. Wir weisen eine lambda
-Funktion mit dem key
-Parameter der sorted()
-Funktion zu.
Diese einzeilige Funktion weist den Parameter an, den diesem Schlüssel
zugeordneten Wert zu berücksichtigen, um sie zu sortieren. Wir können auch die Funktion operator.itegetter()
anstelle der Funktion lambda
verwenden.
Wir können diese Funktion verwenden, um den Wert aus dem Wörterbuch zu holen und ihn zum Vergleich zu verwenden. Siehe Code unten.
import operator
lst = [{"n": 1}, {"n": 4}, {"n": 2}]
print(sorted(lst, key=operator.itemgetter("n")))
Ausgang:
[{'n': 1}, {'n': 2}, {'n': 4}]
Wir können auch den Parameter reverse
verwenden und auf True
setzen, um die Liste in absteigender Reihenfolge zu sortieren. Sehen Sie sich beispielsweise den folgenden Codezaun an.
import operator
lst = [{"n": 1}, {"n": 4}, {"n": 2}]
print(sorted(lst, key=operator.itemgetter("n"), reverse=True))
Ausgang:
[{'n': 4}, {'n': 2}, {'n': 1}]
Das obige Beispiel zeigt, dass die Liste in absteigender Reihenfolge sortiert wurde.
Verwenden Sie die Funktion sort()
, um eine Liste von Wörterbüchern in Python zu sortieren
Die Funktion sort()
funktioniert ähnlich wie die Methode sorted
zum Sortieren von Listen. Der Hauptunterschied besteht darin, dass die Funktion sort()
die Reihenfolge der ursprünglichen Liste ändert und letztere eine neue Liste erstellt.
Wir können die sort()
-Methode genauso verwenden wie die sorted
-Funktion, mit den operator.itemgetter()
- und lambda
-Funktionen.
Wir verwenden den Parameter key
wie in den vorherigen Beispielen. Wir können auch den Parameter reverse
verwenden, um die Liste in absteigender Reihenfolge zu sortieren.
Siehe Code unten.
import operator
lst1 = [{"n": 1}, {"n": 4}, {"n": 2}]
lst2 = [{"n": 5}, {"n": 1}, {"n": 3}]
lst1.sort(key=lambda d: d["n"])
lst2.sort(key=operator.itemgetter("n"), reverse=True)
print(lst1, lst2)
Ausgang:
[{'n': 1}, {'n': 2}, {'n': 4}] [{'n': 5}, {'n': 3}, {'n': 1}]
Das obige Beispiel zeigt, dass die Originallisten modifiziert und nach dem gewünschten Schlüssel
sortiert wurden.
Die erste Liste verwendet die lambda
-Funktion. Die zweite verwendet die Methode operator.itegetter
und sortiert die Liste mit dem Parameter reverse
absteigend.
Wir haben also zwei Möglichkeiten, eine Liste von Wörterbüchern in Python zu sortieren. Zuerst wurden die Funktionen sorted
und sort
verwendet. Um eine Liste von Wörterbüchern zu sortieren, verwenden wir den Wert eines gemeinsamen Schlüssels
in allen Wörterbüchern.
Wir erstellen eine Funktion, die diesen Wert zurückgibt und geben ihn mit dem Parameter key
in beiden Funktionen an. Wir haben dafür die Methoden lambda
und operator.itemgetter
besprochen.
Um das Ergebnis in absteigender Reihenfolge zu erhalten, können wir den Parameter reverse
verwenden und auf True
setzen. Bravo! Sie haben erfolgreich gelernt, wie Sie eine Liste von Wörterbüchern in Python sortieren.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInVerwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert