Глава 11 · Очень много информации!

Словари

Самая гибкая встроенная коллекция Python — доступ по ключу вместо числового индекса.

От позиции к ключу

У списка доступ идёт по числовой позиции. У словаря — по ключу, обычно строке:

listdict
Модель доступапозиция → значениеключ → значение
Примерnames[0]student["name"]

Словарь (dict) — самая гибкая коллекция: хранит пары «ключ — значение» вместо простых значений по порядку.

slovari.py
student = {
    "name": "Cartesian",
    "age": 12,
    "city": "Москва",
}
print(student["name"])   # Cartesian
"name""Cartesian""age"12"city""Москва"
Словарь — таблица «ключ → значение», а не пронумерованные ячейки
Повторяющийся ключ в литерале — побеждает последнее значение
Если в фигурных скобках дважды написать один и тот же ключ, ошибки не будет — останется только значение, написанное позже.

Добавление и изменение значений

izmenenie_slovarya.py
student["age"] = 13         # изменить существующее значение
student["grade"] = "7 класс" # добавить новый ключ
print(student)

Доступ по ключу: [] и get()

dostup_get.py
print(student["name"])        # Cartesian
print(student.get("email"))    # None — ключа нет, но ошибки тоже нет
print(student.get("email", "нет email"))  # с явным значением по умолчанию
KeyError — обращение к несуществующему ключу
student["phone"], если такого ключа нет, вызовет KeyError. Более безопасный способ — метод student.get("phone"), который просто вернёт None вместо ошибки. Квадратные скобки не «хуже» — они уместны, когда отсутствие ключа само по себе является ошибкой в программе.

Перебор словаря

perebor_slovarya.py
for key, value in student.items():
    print(f"{key}: {value}")

Проверка наличия ключа

proverka_klyucha.py
print("name" in student)      # True
print("phone" in student)     # False
Практика: словари — создание, изменение, перебор
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →