Словари в Python

Словари… Тема, которая лично для меня оказалось одной из наиболее сложных во время изучения Python по курсу Нетологии. Не могу объяснить причину, но факт есть факт — словари в Python тема крайне важная, а значит — давайте разбираться в ней вместе!

Прежде всего нужно согласиться с тем, что словари в Python — не последовательность чего-либо, а лишь отображения, коллекции объектов, доступ к которым осуществляется по ключам.

Внешне словарь выделяется фигурными скобками {}, и состоит из пары ключ-значение. Пример самого простого словаря — ниже:

где:
distionary = {‘Еда’:’Яблоко’, ‘Цвет’:’Красный’}:
— distionary — название словаря
— { — начало словаря
— ‘Еда’:’Яблоко’ — пара: Ключ — Значение (Еда — ключ, Яблоко — значение)
— ‘Цвет’:’Красный’ — вторая пара: Ключ — Значение (Цвет — ключ, Красный — значение)
— print (distionary) — вывод словаря на экран

Можно создать словарь с помощью присваивания значения ключу. Кстати, в отличии от тех же списков, в которых присваивание значений несуществующим элементам запрещено, присваивание значения ключу, которого нет — приведет к его созданию. Давайте посмотрим на код:

Более подробно он выглядит следующим образом:
distionary = {} — создаем пустой словарь с названием distionary
print (distionary) — выводим его на экран — просто так, что бы убедиться, что он пуст 🙂
distionary[‘Имя’] = ‘Василий’ — вызываем словарь с названием distionary, и задаем ключ (помним, что ключа не существует!) ‘Имя’, и тут же задаем его значение — ‘Василий’
distionary[‘Фамилия’] = ‘Пупкин’ — вызываем словарь с названием distionary, и задаем ключ (помним, что ключа не существует!) ‘Фамилия’, и тут же задаем его значение — ‘Пупкин’
distionary[‘Возраст’] = 30 — вызываем словарь с названием distionary, и задаем ключ (помним, что ключа не существует!) ‘Возраст’, и тут же задаем его значение — 30
print (distionary) — выводим словарь на экран, что бы убедиться, что у нас появились ключи-значения
print (distionary[‘Имя’]) — выводим на экран значение ключа ‘Имя’ — компьютер выдает ‘Василий’
print (distionary[‘Фамилия’]) — выводим на экран значение ключа ‘Фамилия’ — компьютер выдает ‘Пупкин’
print (distionary[‘Возраст’]) — выводим на экран значение ключа ‘Возраст’ — компьютер выдает 30

Можно улучшить наш код, и используя функцию input (более подробно она рассматривалась в этой записи) организовать взаимодействие с пользователем (ранее я писал, что по какой-то причине формы запросов не работают в внедряемом на сайт коде, потому для проверки работоспособности кликните на эту ссылку — код откроется в новой вкладке, и будет активным):

Сам код в более подробном виде выглядит следующим образом:
distionary = {} — создаем пустой словарь с названием distionary
print (distionary) — выводим его на экран
distionary[‘Имя’] = str(input(‘Введите имя: ‘)) — запрашиваем у пользователя имя, значение которого будет привязано к ключу ‘Имя’
distionary[‘Фамилия’] = str(input(‘Введите фамилию: ‘)) — запрашиваем у пользователя фамилию, значение которой будет привязано к ключу ‘Фамилия’
distionary[‘Возраст’] = int(input(‘Введите возраст: ‘)) — запрашиваем у пользователя возраст, значение которого будет привязано к ключу ‘Возраст’
print (distionary) — выводим наш словарь на экран.

Как в случае со списками — у нас имеется возможность обработки словарей: например, мы можем обратиться к элементу словаря по ключу и изменить значение, к этому ключу привязанное. Как будет видно ниже — для доступа к элементам словаря используется синтаксис, который идентичен с синтаксисом для обращения к элементам словаря, только в отличии от словаря в квадратных скобках указывается не позиция элемента от начала, а ключ:

где:
distionary = {‘Еда’:’Яблоко’, ‘Цвет’:’Красный’} — словарь
print (distionary[‘Еда’]) — вывод на экран значения, привязанного к ключу «Еда», где print — команда вывода на экран, distionary — название словаря, Еда — ключ.
print (distionary[‘Цвет’]) — вывод на экран значения, привязанного к ключу «Цвет», где print — команда вывода на экран, distionary — название словаря, Цвет — ключ.

Кроме того — словари в Python имею возможность создания сложной структуры — в этом случае речь пойдет уже о вложенных словарей. Работа с вложенными словарями полностью идентична с работой со словарем вообще, только в этом случае доступ к элементам словаря будет осуществляться с указанием ключей словаря. Попробуем представить, что у нас имеется база данных учеников школьного класса, в котором кроме банальных имя-фамилия-возраст указывается еще и прозвище ученика. В этом случае в ключе ‘Имя’ у нас будет два значения — имя официальное, и прозвище. Посмотрим код:

где:
distionary = { — объявили словарь с названием distionary
‘имя’: {‘официальное’:’Василий’, ‘прозвище’:’Винни-Пух’}, — обозначили ключ ‘имя’ вложенным словарем (напоминаю, что словарь обозначается фигурными скобками) с ключами ‘официальное’ (значение — Василий) и ‘прозвище’ (значение — Винни-Пух)
‘фамилия’: ‘Пупкин’, — объявили ключ — ‘фамилия’ и указали его значение — ‘Пупкин’
‘возраст’: 15 — объявили ключ — ‘возраст’ и указали его значение — 15
} — закрыли словарь
print (distionary[‘имя’][‘прозвище’]) — выводим на экран значение ключа ‘имя’ — ключ ‘прозвище’ — значение ‘Винни-Пух’

Аналогично со списками — вложенные в словари списки можно расширять. Для этого используется все тот же метод append, а на практике это выглядит следующим образом:

где:
distionary = { — объявили словарь с названием distionary
‘имя’: {‘официальное’:’Василий’, ‘прозвище’:’Винни-Пух’}, — ключ — имя: значение — вложенный словарь с парами: официальное — Василий, прозвище — Винни-Пух
‘фамилия’: ‘Пупкин’, — пара ключ-значение: фамилия-Пупкин
‘изучаемые предметы’: {‘Основной курс’: ‘математика’, ‘Дополнительный курс’: ‘программирование’, ‘Свободное посещение’: ‘английский’}, ключ — изучаемые предметы — значение: вложенный словарь с парами: Основной курс — математика, Дополнительный курс — программирование, свободное посещение — английский
‘Хобби’: [‘литература’, ‘химия’], — пара ключ-значение: хобби — встроенный список со значениями: литература, химия
‘возраст’: 15 — пара ключ — значение: возраст: 15
}
distionary[‘Хобби’].append(‘музыка’) — команда на добавление данных в словарь distionary в ключ ‘Хобби’ значения ‘музыка’
print (distionary) — вывод словаря на экран.

В следующей записи мы с вами попробуем разобраться в сортировке по ключам. Обещаю — будет весело!
Спасибо за внимание. В случае возникновения вопросов — пишите.

Понравилась запись? Сделайте репост на свою страницу!

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut