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!