Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich aus einem Python-Wörterbuch eine sortierte, geordnete Sammlung erstellen?
Sortieren eines Wörterbuchs nach Schlüssel: Erwerben einer geordneten Sammlung
Die eigentliche Natur der Python-Wörterbücher ist ungeordnet, mit Ausnahme der Einführung von Python 3.7. Während das Sortieren der (Schlüssel-Wert-)Paare als Lösung erscheinen mag, ist es wichtig anzuerkennen, dass die Beibehaltung der sortierten Reihenfolge beim Zurückspeichern der Elemente in ein Wörterbuch nicht möglich ist.
Um nahtlos eine geordnete Sammlung basierend auf zu erstellen Schlüsselwerten überwiegt die Verwendung der OrderedDict-Klasse als optimaler Ansatz. Diese Klasse verfügt über die einzigartige Fähigkeit, die Einfügereihenfolge ihrer Elemente beizubehalten:
import collections d = {2: 3, 1: 89, 4: 5, 3: 0} # Construct an OrderedDict from sorted key-value pairs od = collections.OrderedDict(sorted(d.items())) print(od) # OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
Obwohl die gedruckte Darstellung von od variieren kann, behält sie die gewünschte Reihenfolge bei nachfolgenden Interaktionen bei:
print(od[1]) # 89 print(od[3]) # 0 for k, v in od.items(): print(k, v) # 1 89, 2 3, 3 0, 4 5
Überlegungen für Python 3-Benutzer
Python 3-Benutzer sollten das verwenden .items()-Methode anstelle von .iteritems() beim Durchlaufen des OrderedDict zur Wahrung der Kompatibilität:
for k, v in od.items(): print(k, v) # 1 89, 2 3, 3 0, 4 5
Das obige ist der detaillierte Inhalt vonWie kann ich aus einem Python-Wörterbuch eine sortierte, geordnete Sammlung erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!