Heim > Backend-Entwicklung > Python-Tutorial > Wie sortiere ich ein Python-Wörterbuch nach Schlüsseln?

Wie sortiere ich ein Python-Wörterbuch nach Schlüsseln?

Susan Sarandon
Freigeben: 2024-12-23 19:09:15
Original
727 Leute haben es durchsucht

How to Sort a Python Dictionary by Keys?

So sortieren Sie ein Wörterbuch mit Python

Wörterbücher in Python sind ungeordnete Datenstrukturen. Es gibt jedoch Fälle, in denen das Sortieren eines Wörterbuchs nach seinen Schlüsseln erforderlich ist.

Beispieleingabe:

{2:3, 1:89, 4:5, 3:0}
Nach dem Login kopieren

Gewünschte Ausgabe:

{1:89, 2:3, 3:0, 4:5}
Nach dem Login kopieren

Standard-Python Wörterbücher

Standard-Python-Wörterbücher behalten die Schlüsselreihenfolge erst ab Python-Version 3.7 bei. Vor Version 3.7 führt die Verwendung der Funktion sorted(d.items()) nicht zum gewünschten Ergebnis, da diese Wörterbücher die Reihenfolge der sortierten Paare nicht beibehalten.

OrderedDict

Für Versionen vor Python 3.7 besteht die Lösung darin, das zu verwenden OrderedDict-Klasse aus dem Modul collections. Diese Klasse speichert Schlüssel-Wert-Paare in der Reihenfolge, in der sie eingefügt werden, und gewährleistet so eine konsistente Reihenfolge.

import collections

d = {2:3, 1:89, 4:5, 3:0}

# Create an OrderedDict from sorted key-value pairs
od = collections.OrderedDict(sorted(d.items()))

print(od)
Nach dem Login kopieren

Ausgabe:

OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
Nach dem Login kopieren

Python 3

Für Python-Versionen 3 und höher sollte stattdessen die Methode .items() verwendet werden von .iteritems():

for k, v in od.items():
    print(k, v)
Nach dem Login kopieren

Ausgabe:

1 89
2 3
3 0
4 5
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Python-Wörterbuch nach Schlüsseln?. 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