Использование упорядоченного словаря - PullRequest
2 голосов
/ 12 июля 2020

Я изучаю python коллекций. Об упорядоченном словаре написано, что « OrderedDict сохраняет порядок, в котором вставляются ключи. Обычный dict не отслеживает порядок вставки, и его итерация дает значения в произвольном порядке. Напротив, порядок элементы, вставленные, запоминаются OrderedDict."

Итак, я попытался понять это с помощью программы:

from collections import OrderedDict 

d = dict()
d['a'] = 1
d['b'] = 2
d['c'] = 3
d['d'] = 4
  
for key, value in d.items(): 
    print(key, value) 
  
print("\nThis is an Ordered Dict:\n") 
od = OrderedDict() 
od['a'] = 1
od['b'] = 2
od['c'] = 3
od['d'] = 4
  
for key, value in od.items(): 
    print(key, value) 

OUTPUT

a 1
b 2
c 3
d 4

This is an Ordered Dict:

a 1
b 2
c 3
d 4
>>> 

Но вывод для обоих то же самое. Так зачем мне использовать упорядоченный словарь?

Ответы [ 2 ]

1 голос
/ 12 июля 2020

Так как python 3.7 Порядок словаря гарантированно будет порядком вставки. проверьте этот ответ на аналогичный вопрос ссылка

0 голосов
/ 12 июля 2020

, потому что - если значение определенного ключа изменяется, положение ключа остается неизменным в OrderedDict.

...