Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich aus einem Python-Wörterbuch eine sortierte, geordnete Sammlung erstellen?

Wie kann ich aus einem Python-Wörterbuch eine sortierte, geordnete Sammlung erstellen?

Barbara Streisand
Freigeben: 2024-12-28 22:28:16
Original
726 Leute haben es durchsucht

How Can I Create a Sorted, Ordered Collection from a Python Dictionary?

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)])
Nach dem Login kopieren

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
Nach dem Login kopieren

Ü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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage