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

Sind Wörterbücher in Python geordnet?

silencement
silencementOriginal
2019-06-12 15:11:239406Durchsuche

Sind Wörterbücher in Python geordnet?

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

Das Wörterbuch von Python2 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 hält man also das Wörterbuch in Ordnung? 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 Wörterbücher in Python geordnet?. 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