Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Reihenfolge der Wörterbuchschlüssel beim Sortieren in Python beibehalten?

Wie kann ich die Reihenfolge der Wörterbuchschlüssel beim Sortieren in Python beibehalten?

DDD
DDDOriginal
2025-01-04 22:12:43950Durchsuche

How Can I Maintain Dictionary Key Order When Sorting in Python?

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!

Stellungnahme:
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