Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 6, 2019 23:28:46

Pavel32272
Зарегистрирован: 2019-09-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

OrderedDict()

Объясните пожалуйста, смысл(что делает и зачем он) этого модуля, прям на пальцах.
OrderedDict()

Отредактировано Pavel32272 (Окт. 6, 2019 23:29:14)

Офлайн

#2 Окт. 7, 2019 04:35:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10024
Репутация: +  857  -
Профиль   Отправить e-mail  

OrderedDict()

Изначально словари в питоне dict() были неупорядочеными. Поэтому для создания упорядоченных словарей использовался этот тип collections.OrderedDict() . Сейчас dict() сделали упорядоченным.

Pavel32272
Объясните пожалуйста, смысл(что делает и зачем он) этого модуля, прям на пальцах.
По словарю можно итерировать - перебирать элементы по порядку.
  
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:
...   print(key, '->', d[key])
... 
a -> 1
b -> 2
c -> 3
>>>

Если словарь неупорядоченный, то добавлять ты можешь элементы как a b c, а читаться они могут в любом порядке b c a, c b a, a c b и так далее. Порядок в словаре требует временных и памятных ресурсов, поэтому изначально словарь для скорости не содержал порядка внутри и работал быстрее. А сейчас они нашли какой-то недорогой способ поддерживать порядок словаря и включили его в последнии версии языка. Поэтому сейчас как ты записал словарь, так он и читается. А OrderedDict() всегда читает от первого ключа к последнему добавленному по порядку во всех версиях языка.



Отредактировано py.user.next (Окт. 7, 2019 04:40:49)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version