Все знакомы со словарями. В их основу положены пары, например, англо-русский словарь содержит пары английское слово / русский эквивалент, толковый словарь также содержит пары термин / описание. Вот и в Python словарь тоже позволяет хранить пары значений, точнее ключ и значение. Перейдём к примерам.
Давайте попробуем описать модель автомобиля, очень просто, например:
- марка: audi
- максимальная скорость: 250 км/ч
- цвет: чёрный
Достаточно, а теперь превратим эту модель в словарь, точнее опишем с помощью словаря Python.
Словарь оформляется фигурными скобками, внутри которых через запятую указываются пары <ключ: значение>. Между собой ключ и значения разделяются двоеточием.
В нашем случае ключами будут названия характеристик. Приступим, создадим словарь car с вышеуказанными характеристиками.
Обратите внимание, что ключи являются строками, т.е. должны быть в апострофах, также как и некоторые значения. Попробуем вывести созданный словарь.
Всё получилось, правда выглядит пока не очень. Для начала научимся обращаться к определённому значению словаря. Допустим нам надо вывести цвет машины. Обратимся к словарю по имени car, а в качестве индекса укажем необходимый ключ color.
Вывод: доступ к значениям словаря осуществляется по ключам.
Теперь попробуем изменить значение, с доступом же мы уже разобрались. Допишем ещё пару строк.
Ещё один вывод: словари являются изменяемыми структурами.
В целом ключи похожи на индексы у списков. Но индексами списков могут быть только целые числа, а вот ключами словарей могут быть и числа (обоих типов), и строки, и даже True и False.
Важно! В одном словаре не может быть двух одинаковых ключей.
Для словарей существуют специальные методы:
- keys() – выводит ключи словаря
- values() – выводит значения словаря
Попробуем их применить к нашему автомобилю:
Немного украсим вывод, добавим метод join().
Кстати, если сейчас попробовать аналогично вывести значения, то это приведёт к ошибке, т.к. среди значений есть число, а join() работает только со строками.
Ну и напоследок выведем полную информацию об автомобиле:
На этом пока и остановимся. Если есть вопросы, пишите в комментариях, будем разбираться.