English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
OrderedDict ist eine Unterklasse des dict-Objekts in Python. Der einzige Unterschied zwischen OrderedDict und dict ist, dass in OrderedDict die Reihenfolge der eingefügten Schlüssel beibehalten wird. In einem Dictionary kann die Sortierung möglicherweise stattfinden oder nicht.
OrderedDict ist eine Standardbibliotheksklasse, die sich imcollectionsim Modul.
Um es zu verwenden, müssen wir es importierenSammlungStandardbibliotheksmodul.
import collections
In diesem Abschnitt werden wir einige Operationen zu OrderedDict und die Unterschiede zwischen OrderedDict und Dict sehen.
Wir können einige Schlüssel und Werte in Dict und OrderedDict einfügen. In diesem Beispiel können wir sehen, dass die Reihenfolge von Dict möglicherweise unterschiedlich ist. Aber für OrderedDict wird sie korrigiert.
import collections # Erstellen eines normalen Dictionaries my_dict = {} my_dict['AA'] = 11 my_dict['BB'] = 22 my_dict['CC'] = 33 my_dict['DD'] = 44 for item in my_dict.items(): print(item) print() # Erstellen eines geordneten Dictionaries my_ord_dict = collections.OrderedDict() my_ord_dict['AA'] = 11 my_ord_dict['BB'] = 22 my_ord_dict['CC'] = 33 my_ord_dict['DD'] = 44 for item in my_ord_dict.items(): print(item)
Ausgabeergebnis
('AA', 11) ('CC', 33) ('BB', 22) ('DD', 44) ('AA', 11) ('BB', 22) ('CC', 33) ('DD', 44)
Für einen OrderedDict wird die Reihenfolge der Schlüssel nicht geändert, wenn der Wert eines angegebenen Schlüssels geändert wird. Wir können sehen, dass dies für ein Dictionary-Typ-Objekt möglicherweise korrekt oder falsch sein kann.
import collections # Erstellen eines normalen Dictionaries my_dict = {} my_dict['AA'] = 11 my_dict['BB'] = 22 my_dict['CC'] = 33 my_dict['DD'] = 44 for item in my_dict.items(): print(item) # Ändern des Wertes für den Schlüssel BB my_dict['BB'] = 100 print('Nach dem Ändern im Dictionary') for item in my_dict.items(): print(item) print() # Erstellen eines geordneten Dictionaries my_ord_dict = collections.OrderedDict() my_ord_dict['AA'] = 11 my_ord_dict['BB'] = 22 my_ord_dict['CC'] = 33 my_ord_dict['DD'] = 44 for item in my_ord_dict.items(): print(item) # Ändern des Wertes für den Schlüssel BB my_ord_dict['BB'] = 100 print('Nach dem Ändern im Geordneten Dictionary') for item in my_ord_dict.items(): print(item)
Ausgabeergebnis
('AA', 11) ('BB', 22) ('CC', 33) ('DD', 44) Nach dem Ändern im Dictionary ('AA', 11) ('CC', 33) ('DD', 44) ('BB', 100) ('AA', 11) ('BB', 22) ('CC', 33) ('DD', 44) Nach dem Ändern im Geordneten Dictionary ('AA', 11) ('BB', 100) ('CC', 33) ('DD', 44)
Wenn ein Element aus einem OrderedDict entfernt und der Schlüssel und der Wert neu eingefügt werden, wird es an das Ende zurückgefügt. Obwohl es bei der Einfügung die Reihenfolge beibehält, wird bei der Löschung die Bestellinformation gelöscht und als neuer Eintrag neu eingefügt.
import collections # Erstellen eines geordneten Dictionaries my_ord_dict = collections.OrderedDict() my_ord_dict['AA'] = 11 my_ord_dict['BB'] = 22 my_ord_dict['CC'] = 33 my_ord_dict['DD'] = 44 for item in my_ord_dict.items(): print(item) # Löschen des Elements mit dem Schlüssel BB my_ord_dict.pop('BB') print('Nach dem Löschen von' for item in my_ord_dict.items(): print(item) # Bearbeiten-eingefügt item my_ord_dict['BB'] = 22 print('Nach dem Bearbeiten von'-eingefügt) for item in my_ord_dict.items(): print(item)
Ausgabeergebnis
('AA', 11) ('BB', 22) ('CC', 33) ('DD', 44) Nach dem Löschen von ('AA', 11) ('CC', 33) ('DD', 44) Nach dem Bearbeiten von-eingefügt ('AA', 11) ('CC', 33) ('DD', 44) ('BB', 22)