Heim >Backend-Entwicklung >Python-Tutorial >Wie hält Python die Ordnung in Wörterbüchern aufrecht?

Wie hält Python die Ordnung in Wörterbüchern aufrecht?

Linda Hamilton
Linda HamiltonOriginal
2024-12-25 08:07:33862Durchsuche

How Does Python Maintain Order in Dictionaries?

Aufrechterhaltung der Reihenfolge in Python-Wörterbüchern

Die Bestimmung der Reihenfolge von Schlüsseln und Werten in einem Python-Wörterbuch kann eine Herausforderung sein, wenn die Reihenfolge nicht unbedingt mit den Werten selbst zusammenhängt. Ab Python 3.6 behält der Standard-Dict-Typ jedoch standardmäßig die Einfügereihenfolge bei.

Um die Reihenfolge beizubehalten, in der Sie Schlüssel und Werte deklarieren, definieren Sie Ihr Wörterbuch einfach wie folgt:

d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}

Dadurch wird sichergestellt, dass die Wörterbuchschlüssel in der Reihenfolge gespeichert werden, in der sie im Quellcode aufgeführt sind.

Diese Funktion wurde durch die Verwendung eines Arrays mit Ganzzahlen für eingeführt Sparse-Hash-Tabelle, in der diese Ganzzahlen in ein Array indiziert werden, das die Schlüssel-Wert-Paare speichert. Dieses Array speichert Elemente von Natur aus in der Einfügungsreihenfolge, was zu einer verbesserten Speichernutzung im Vergleich zu früheren Python-Versionen führt.

In Python 3.7 wurde der reihenfolgeerhaltende Aspekt des Dikttyps zu einer Sprachspezifikation, wodurch er für alle Python-Anwendungen obligatorisch wurde Implementierungen, die mit dieser Version oder neuer kompatibel sind, um die Reihenfolge in Wörterbüchern beizubehalten.

Während Diktattypen jetzt standardmäßig die Einfügereihenfolge beibehalten, können Sie dennoch die Verwendung der Klasse „collections.OrderedDict()“ in Betracht ziehen bestimmte Fälle. Es bietet zusätzliche Funktionalität, einschließlich Umkehrbarkeit und Unterstützung für die Neuordnung von Elementen mithilfe der Methode move_to_end().

Das obige ist der detaillierte Inhalt vonWie hält Python die Ordnung in Wörterbüchern aufrecht?. 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