Aufrechterhaltung der Wörterbuchreihenfolge in Python
Wörterbücher in Python sind von Natur aus ungeordnet, was das Sortieren ihrer Schlüssel schwierig macht. In diesem Artikel werden Methoden zum Sortieren von Wörterbüchern nach ihren Schlüsseln untersucht.
Standardwörterbücher
Standard-Python-Wörterbücher behalten keine bestimmte Reihenfolge für (Schlüssel-Wert-)Paare bei. Das Sortieren des Paris würde die unvorhersehbare Reihenfolge des Wörterbuchs ändern.
OrderedDict: Eine Lösung
Die OrderedDict-Klasse, eine Unterklasse von dict, behebt dieses Problem. Es merkt sich die Einfügereihenfolge von Elementen und stellt sicher, dass die Schlüssel nach dem Sortieren geordnet bleiben.
import collections # Sample dictionary d = {2: 3, 1: 89, 4: 5, 3: 0} # Create an OrderedDict with sorted keys od = collections.OrderedDict(sorted(d.items())) # Print the sorted OrderedDict print(od)
Ausgabe:
OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
Zugriff auf Werte
Trotz der sortierten Schlüssel behält OrderedDict das erwartete Verhalten für den Wert bei Zugriff.
print(od[1]) # Prints 89 print(od[3]) # Prints 0
Iteration
Durch das Iterieren durch ein OrderedDict bleibt die sortierte Schlüsselreihenfolge erhalten.
for k, v in od.items(): print(k, v)
Ausgabe:
1 89 2 3 3 0 4 5
Python 3
Verwenden Sie in Python 3 die aktualisierte Syntax zum Durchlaufen von Elementen:
for k, v in od.items(): print(k, v)
Das obige ist der detaillierte Inhalt vonWie kann ich die Reihenfolge der Wörterbuchschlüssel beim Sortieren in Python beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!