Автор оригинала: Pankaj Kumar.
Python OrderDICTICT – это подкласс Dict, который поддерживает заказ вставки элементов. Когда мы повторяем заказ, предметы возвращаются в порядке их вставленных.
Регулярный словарь не отслеживает заказ вставки. Таким образом, когда итация по нему, предметы возвращаются в произвольном порядке. Когда мы хотим убедиться, что элементы возвращаются в порядке их вставленных, мы можем использовать упорядоченный.
Заказчик Python
- ЗаказДикт является частью Коллекции Python модуль.
- Мы можем создать пустой
ЗаказДикт
и добавить элементы к нему. Если мы создадим упорядоченность, передавая аргумент Dict, то заказ может быть потерян, потому что Dict не поддерживает порядок введения. - Если товар перезаписан в упорядочении, он поддерживается позиция.
- Если элемент удаляется и добавляется снова, то он перемещается к последнему.
- ЗаказДикт
Поптек
Удаляет предметы в FIFO заказывать. Это принимает булевой аргументПоследнее
, если он установлен наПравда
Тогда предметы возвращаются в Lifo заказывать. - Мы можем переместить элемент в начало или конец упорядочения, используя
move_to_end
функция. Это принимает булевой аргументПоследнее
, если он установлен наЛожь
Затем пункт перемещается к началу заказанного Dict. - От Python 3.6 Вперед назад заказа сохраняется для аргументов ключевых слов, переданные конструктору упорядочения, см. Pep-468 Отказ
- Мы можем использовать
обратный ()
Функция с упорядоченным для итеративных элементов в обратном порядке. - Испытания по равенству между объектами упорядоченности – чувствительны к порядку и реализуются как
Список (OD1.Items ()) == Список (OD2.Items ())
Отказ - Испытания по равенству между упорядоченными и другими объектами отображения являются нечувствительными к порядку, такие как обычные словари. Это позволяет заместите объекты упорядоченности в любом месте, используемый обычный словарь.
Примеры упорядоченного питона
Давайте посмотрим на некоторые код примеры заказа Python.
Создание OrderDudict Object
from collections import OrderedDict # creating a simple dict my_dict = {'kiwi': 4, 'apple': 5, 'cat': 3} # creating empty ordered dict ordered_dict = OrderedDict() print(ordered_dict) # creating ordered dict from dict ordered_dict = OrderedDict(my_dict) print(ordered_dict)
Выход:
OrderedDict() OrderedDict([('kiwi', 4), ('apple', 5), ('cat', 3)])
Добавление, замена, удаление элементов из упорядоченного
# adding elements to dict ordered_dict['dog'] = 3 # replacing a dict key value ordered_dict['kiwi'] = 10 print(ordered_dict) # removing and adding a value ordered_dict.pop('kiwi') print(ordered_dict) ordered_dict['kiwi'] = 4 print(ordered_dict)
Выход:
OrderedDict([('kiwi', 10), ('apple', 5), ('cat', 3), ('dog', 3)]) OrderedDict([('apple', 5), ('cat', 3), ('dog', 3)]) OrderedDict([('apple', 5), ('cat', 3), ('dog', 3), ('kiwi', 4)])
ЗаказДикт MOVE_TO_END ПРИМЕР
# moving apple to end and dog to start ordered_dict.move_to_end('apple') ordered_dict.move_to_end('dog', False) print(ordered_dict)
Выход:
OrderedDict([('dog', 3), ('cat', 3), ('kiwi', 4), ('apple', 5)])
Пример упорядочения поптема
# pop last item item = ordered_dict.popitem(True) print(item) print(ordered_dict)
Выход:
('apple', 5) OrderedDict([('dog', 3), ('cat', 3), ('kiwi', 4)])
Упорядоченная обратная итерация
# reversed iteration for item in reversed(ordered_dict): print(item)
Выход:
kiwi cat dog
Пример испытаний по заказу на равенство
# equality tests d1 = {'a': 'A', 'b': 'B'} d2 = {'b': 'B', 'a': 'A'} od1 = OrderedDict({'a': 'A', 'b': 'B'}) od2 = OrderedDict({'b': 'B', 'a': 'A'}) print(d1 == d2) print(od1 == od2) print(d1 == od1)
Выход:
True False True
Ссылка: Python Docs.