Heim >Backend-Entwicklung >Python-Tutorial >Sind Python-Wörterbücher in Ordnung?

Sind Python-Wörterbücher in Ordnung?

silencement
silencementOriginal
2019-06-17 15:10:198456Durchsuche

Sind Python-Wörterbücher in Ordnung?

Die Unordnung des Wörterbuchs bedeutet, dass die Reihenfolge, in der die Daten im Wörterbuch gespeichert werden, nicht mit der Reihenfolge übereinstimmt, in der die Daten aus dem Wörterbuch entnommen werden

Python2s Wörterbuch ist durcheinander

>>> d = {'a':-1,'b':-1,'c':-1}>>> d
{'a': -1, 'c': -1, 'b': -1}>>> for k,v in d.items():
...     print k,v
... 
a -1c -1b -1

Wie kann man also das Wörterbuch in Ordnung halten? OrderedDict verwenden

>>> from collections import OrderedDict
>>> d = OrderedDict()
>>> d['a'] = 1
>>> d['b'] = 2
>>> d['c'] = 3
>>> d
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> for k,v in d.items():
...     print k,v
... 
a 1
b 2
c 3

Warum ist es ungeordnet? Die Hash-Struktur verfügt über eine Kopfadresse und die darin enthaltenen Daten sind auf verschiedene Listenketten verteilt, sodass sie ungeordnet zu sein scheinen. Für denselben Satz von Wörterbüchern gibt es jedoch immer eine zu verbindende Kennung. Es wird auch so gespeichert, dass die Daten der Reihe nach erfasst, aber nicht nach bestimmten Regeln geordnet werden.

Wörterbücher in Python3 sind geordnet

>>> d = {'a':-1,'b':-1,'c':-1}
>>> d
{'a': -1, 'b': -1, 'c': -1}
>>> for k,v in d.items():
...     print(k,v)
... 
a -1
b -1
c -1

Das obige ist der detaillierte Inhalt vonSind Python-Wörterbücher in Ordnung?. 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