Автор оригинала: 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.