Рубрики
Без рубрики

Заказчик Python

Пример упорядочения Python, объект OrderDict Python, добавление элементов, MOVE_TO_END, POPITEM, обращение к итерации на обращение, тест на равенство заказания, порядок введения

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