Die Reihenfolge von Python-Wörterbüchern verstehen

WBOY
Freigeben: 2024-02-09 20:42:04
nach vorne
547 Leute haben es durchsucht

Die Reihenfolge von Python-Wörterbüchern verstehen

Frageninhalt

Kann jemand erklären, wie Python (v3.5)-Wörterbücher sortiert werden?

data = {"john": 23, "rick": 33, "mary": 63, "ron": 23, "joel": 51}

for key in data:
        print("your name is " + key + ", and you are also " + str(data[key]) + " years old.")
Nach dem Login kopieren

Tatsächliche Ausgabe:

your name is rick, and you are also 33 years old.
your name is ron, and you are also 23 years old.
your name is mary, and you are also 63 years old.
your name is john, and you are also 23 years old.
your name is joel, and you are also 51 years old.
Nach dem Login kopieren

Erwartete Ausgabe (lexikografische Reihenfolge):

Your name is John, and you are also 23 years old.
Your name is Rick, and you are also 33 years old.
Your name is Mary, and you are also 63 years old.
Your name is Ron, and you are also 23 years old.
Your name is Joel, and you are also 51 years old.
Nach dem Login kopieren

Richtige Antwort


Das hängt von der Python-Version ab, die Sie verwenden.

Vor Python 3.6

Das Wörterbuch verwendet zum Sortieren die zugrunde liegende Hash-Funktion. Einige Typen verfügen über gesalzene Hashes, sodass Sie bei jedem Aufruf eine andere Reihenfolge erhalten.

Python 3.6+

Wörterbücher sind in der Einfügereihenfolge angeordnet, d. h. das Wörterbuch merkt sich die Reihenfolge, in der Elemente eingefügt werden. Von Dokumente:

Python 3.7

Guido van Rossum gab bekannt, dass alle Python-Implementierungen ab Python 3.7 die Einfügereihenfolge beibehalten müssen .

Das obige ist der detaillierte Inhalt vonDie Reihenfolge von Python-Wörterbüchern verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!