Словари в Python

Иногда данные очень связаны. Настолько, что хранить их хочется вместе. Например, соответствие столиц:

Россия: Москва
Китай: Пекин
США: Вашингтон

Если вы знаете о списках, вы можете сделать это так:

countries = ["Россия", "Китай", "США"]
capitals = ["Москва", "Пекин", "Вашингтон"]

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

["Россия", "США", "Франция"]
["Москва", "Пекин", "Вашингтон"]

Теперь Столица США – Пекин, а Франции – Вашингтон. Списки – не очень удобный инструмент для хранения пар данных, для такого используют словари:

capitals_mapping = {
  "Россия": "Москва",
  "США": "Вашингтон",
  "Китай": "Пекин"
}

Словарь — это способ хранить связи между штуками (обычно строками, но можно использовать и другие виды данных). Так же, как в обычном словаре: англо-русский словарь хранит связи между русскими словами и английскими. Так же и в питоне, словарь хранит пары элементов. Зная первый, всегда можно получить второй по ключу:

russian_capital = capitals_mapping["Россия"]
print(russian_capital) 

Это тоже работает как в обычном словаре: зная русское слово вы всегда можете найти его перевод в русско-английском словаре. Зная первый элемент, всегда можно получить второй. Поэтому первый элемент называют ключ, а второй — значение. В коде выше мы получили значение "Москва", сказав словарю ключ "Россия".

Добавить элемент в словарь

Чтобы добавить новую пару элементов в словарь, можно прировнять его значение по этому ключу:

capitals_mapping["Франция"] = "Париж"
print(capitals_mapping)

Выведется словарь с новой парой:

{'Россия': 'Москва', 'Китай': 'Пекин', 'США': 'Вашингтон', 'Франция': 'Париж'}

Убрать элемент из словаря

Элементы из словаря удаляются немного странно:

del capitals_mapping['Россия']    
print(capitals_mapping)
# Выведется словарь без пары Россия-Москва:
# {'Китай': 'Пекин', 'США': 'Вашингтон', 'Франция': 'Париж'}

Отредактировать словарь

Значения ключей можно менять так же, как создаются новые:

capitals_mapping["Франция"] = "Новый Париж"

Что дальше

Если статья не смогла объяснить что же такое словари или вы хотите почитать о них ещё, подойдут эти статьи:


Попробуйте бесплатные уроки по Python

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

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.