Heim > Backend-Entwicklung > Python-Tutorial > Einführung in das Python-Modul: Ordered Dict (OrderedDict)

Einführung in das Python-Modul: Ordered Dict (OrderedDict)

WBOY
Freigeben: 2016-12-05 13:27:17
Original
1262 Leute haben es durchsucht

Ordered Dictionary – 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 darin eingefügt werden, während ein normales Wörterbuch in jeder beliebigen Reihenfolge iteriert. Siehe 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

Nach dem Login kopieren

Die Laufergebnisse sind 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

Nach dem Login kopieren

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

Gleichberechtigung

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

Nach dem Login kopieren

Die Laufergebnisse sind wie folgt:

-> python test7.py
dict    : True
OrderedDict: False
Nach dem Login kopieren

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

Achtung

Obwohl die Konstruktor- oder 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, sodass das geordnete Wörterbuch erstellt wird. Die Reihenfolge ist nicht garantiert.

Referenzmaterialien

https://docs.python.org/2/library/collections.html#collections.OrderedDict
https://pymotw.com/2/collections/ordereddict.html

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage