Глава 11 · Очень много информации!
Словари
Самая гибкая встроенная коллекция Python — доступ по ключу вместо числового индекса.
От позиции к ключу
У списка доступ идёт по числовой позиции. У словаря — по ключу, обычно строке:
| list | dict | |
|---|---|---|
| Модель доступа | позиция → значение | ключ → значение |
| Пример | names[0] | student["name"] |
Словарь (dict) — самая гибкая коллекция:
хранит пары «ключ — значение» вместо простых значений по порядку.
slovari.py
student = {
"name": "Cartesian",
"age": 12,
"city": "Москва",
}
print(student["name"]) # Cartesian
Повторяющийся ключ в литерале — побеждает последнее значение
Если в фигурных скобках дважды написать один и тот же ключ, ошибки не будет — останется только значение, написанное позже.
Добавление и изменение значений
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, без установки