Словарь (dict) — один из базовых контейнеров в Python, особенно важный для backend‑разработки, потому что очень похож на JSON‑структуры.
Создание словаря
user = {"id": 1, "name": "Ann"}
empty = {}
Можно создавать словари и через dict():
user = dict(id=1, name="Ann")
Ключи и значения
Словарь хранит пары «ключ–значение». Доступ к значению происходит по ключу:
user = {"id": 1, "name": "Ann"}
user["name"] # "Ann"
user["id"] # 1
Добавить или изменить значение можно простым присваиванием по ключу:
user["age"] = 30 # добавили новый ключ
user["name"] = "Anna" # изменили существующий ключ
Требования к ключам
Ключи в словаре должны быть хешируемыми, то есть иметь фиксированное хеш‑значение и быть неизменяемыми: чаще всего это строки, числа или кортежи из неизменяемых значений.
Нельзя использовать в качестве ключа изменяемые объекты, например список:
# {'ok': 'yes'} — корректный словарь
# {[1, 2]: "bad"} — так нельзя, список не может быть ключом
Перебор словаря
user = {"id": 1, "name": "Ann"}
for key in user:
print(key, user[key])
for key, value in user.items():
print(key, value)
В современных версиях Python обычный dict сохраняет порядок добавления ключей, что удобно при работе с конфигами и API.
Как кратко ответить на собеседовании
Словарь — это структура «ключ–значение». Доступ к данным идёт по ключу, а не по индексу. Ключи должны быть хешируемыми (строки, числа, неизменяемые кортежи), значения могут быть любыми объектами. В Python 3.7+ словари сохраняют порядок вставки ключей.