Heim >Backend-Entwicklung >Python-Tutorial >Python geordnetes Wörterbuch

Python geordnetes Wörterbuch

高洛峰
高洛峰Original
2016-11-22 09:19:101627Durchsuche

Geordnetes Wörterbuch – Einführung in OrderedDict

Beispiel

Ein geordnetes Wörterbuch ähnelt einem normalen Wörterbuch, außer dass es die Reihenfolge aufzeichnen kann, in der Elemente in es eingefügt werden, während ein normales Das Wörterbuch wird in beliebiger Reihenfolge iterieren. Siehe das Beispiel unten:

import collections

print 'Regular dictionary:'
d = {}
d['a'] = 'A'
d['b'] = 'B'
d['c'] = 'C'
d['d'] = 'D'
d['e'] = 'E'

for k, v in d.items():
    print k, v

print '\nOrderedDict:'
d = collections.OrderedDict()
d['a'] = 'A'
d['b'] = 'B'
d['c'] = 'C'
d['d'] = 'D'
d['e'] = 'E'

for k, v in d.items():
    print k, v

Die laufenden Ergebnisse lauten wie folgt:

-> python test7.py
Regular dictionary:
a A
c C
b B
e E
d D

OrderedDict:
a A
b B
c C
d D
e E

Sie können sehen, dass Wörterbücher normalerweise nicht in der Einfügereihenfolge durchlaufen werden.

Gleichheit

Um festzustellen, ob zwei geordnete Felder gleich sind (==), müssen Sie berücksichtigen, ob die Reihenfolge der Elementeinfügung gleich ist

import collections

print 'dict       :',
d1 = {}
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['d'] = 'D'
d1['e'] = 'E'

d2 = {}
d2['e'] = 'E'
d2['d'] = 'D'
d2['c'] = 'C'
d2['b'] = 'B'
d2['a'] = 'A'

print d1 == d2

print 'OrderedDict:',

d1 = collections.OrderedDict()
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['d'] = 'D'
d1['e'] = 'E'

d2 = collections.OrderedDict()
d2['e'] = 'E'
d2['d'] = 'D'
d2['c'] = 'C'
d2['b'] = 'B'
d2['a'] = 'A'

print d1 == d2

Die laufenden Ergebnisse sind wie folgt:

-> python test7.py
dict       : True
OrderedDict: False

Wenn Sie beurteilen, ob ein geordnetes Wörterbuch anderen gewöhnlichen Wörterbüchern gleich ist, müssen Sie nur beurteilen, ob der Inhalt gleich ist.

Hinweis

Obwohl der Konstruktor oder die update()-Methode von OrderedDict Schlüsselwortparameter akzeptiert, geht die Reihenfolge der Schlüsselwortparameter verloren, da Python-Funktionsaufrufe ungeordnete Wörterbücher zum Übergeben von Parametern verwenden Das erstellte geordnete Wörterbuch kann seine Reihenfolge nicht garantieren.


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
Vorheriger Artikel:Python-SlicingNächster Artikel:Python-Slicing