Поиск по сайту:

Все жанры хороши, кроме скучного. Но скука — не жанр (Ф. Вольтер).

OrderedDict в Python

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
28 ноября 2020
Python 3 - Обзор
Структуры данных являются важными компонентами любого языка программирования, которые эффективно хранят данные и управляют ими. Python предоставляет множество встроенных структур данных, например списков, кортежей и словарей, которые помогают программистам создавать эффективные приложения. Словари Python хранят данные в парах ключ-значение. OrderedDict является подклассом класса dict и поддерживает порядок вставленных ключей. Это единственное различие между dict и OrderDict. Диктовка не поддерживает порядок ключей.

OrderedDict сохраняет порядок вставки ключей, и когда мы перебираем OrderedDict, он возвращает ключи в том же порядке. С другой стороны, когда итерация выполняется для dict, ключи возвращаются в случайном порядке. Однако словари теперь упорядочены в версиях Python 3.6 и выше и возвращают значения в том же порядке, в котором они были вставлены. Класс OrderedDict существует в модуле коллекций. Поэтому, чтобы использовать класс OrderedDict, сначала импортируйте модуль collections. Эта статья подробно объясняет Python OrderedDict с примерами.

 

Примеры

Давайте создадим OrderedDict в нашем скрипте Python и добавим данные в виде ключей и значений. Items() – это встроенная функция Python, которая возвращает информацию о ключах и значениях.

# импорт модуля коллекций

import collections

# создание OrderedDict

my_dict = collections.OrderedDict()

my_dict["A"]=1

my_dict["B"]=2

my_dict["C"]=3

my_dict["D"]=4

# объявление цикла for для перебора OrderDict

for i in my_dict.items():

print(i)

В выводе можно заметить, что OrderedDict возвращает ключи и значения в том же виде, что и вставленные.

Теперь давайте создадим еще один OrderDict студента и сохраним в нем информацию о студенте.

# импорт модуля

import collections

# создание OrderedDict студента

std_dict = collections.OrderedDict()

std_dict['name']='AndreyEx'

std_dict['age']=23

std_dict['email']='AndreyEx@example.ru'

std_dict['class']='BS'

# объявление цикла for для перебора OrderDict

for i in std_dict.items():

print(i)

Изменение значений ключей

Мы можем изменить значение конкретного ключа OrderedDict. Если мы изменим значение любого конкретного ключа, порядок ключей останется таким же в OrderDict. Давайте изменим значение возраста в студенте OrderDict.

# импорт модуля коллекций

import collections

# создание OrderedDict студента

std_dict = collections.OrderedDict()

std_dict['name']='AndreyEx'

std_dict['age']=23

std_dict['email']='AndreyEx@example.ru'

std_dict['class']='BS'

print ( "Порядок ключей перед изменением значения возраста: "

for i in std_dict.items():

print(i)

# изменение значения возраста

std_dict['age']=25

print ( "Порядок ключей после изменения значения возраста:" )

for i in std_dict.items():

print(i)

Выходные данные показывают, что порядок ключей остается неизменным, когда мы изменяем значение определенного ключа.

Читать  AMD предоставляет больше информации о 3D-стеке на Hot Chips 33

 

Удаление значения из OrderedDict

Удаление значений из OrderDict не меняет порядок ключей. Если мы удалим определенный ключ и снова вставим его, он будет добавлен в конце. Давайте посмотрим на пример. Мы удалим ключ «возраст» из студенческого словаря, а затем снова вставим его.

# импорт модуля коллекций

import collections

# создание OrderedDict студента

std_dict = collections.OrderedDict()

std_dict['name']='AndreyEx'

std_dict['age']=23

std_dict['email']='AndreyEx@example.ru'

std_dict['class']='BS'

print ( "Порядок ключей перед изменением значения возраста: "

for i in std_dict.items():

print(i)

# удаление ключа возраста

del std_dict['age']

print ( "Порядок ключей после удаления ключа возраста:" )

for i in std_dict.items():

print(i)

# повторная вставка ключа возраста и значения

std_dict['age']=23

print ( "Порядок ключей после повторной вставки ключа возраста:")

for i in std_dict.items():

print(i)

В выводе можно увидеть, что когда мы повторно вставляем ключ, он вставляется в конце.

 

Вывод

OrderedDict – это подкласс dict, который упорядочивает ключи по порядку и сохраняет порядок при их вставке. Класс OrderedDict является частью модуля коллекций. Эта статья объясняет OrderedDict и его функциональные возможности с примерами.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close