Глава 11 · Очень много информации!
Вложенные структуры
Настоящие данные редко бывают плоскими: списки словарей и словари внутри словарей — норма, а не исключение.
Вложенный словарь
vlozhennyj_slovar.py
student = {
"name": "Anna",
"scores": {"math": 95, "python": 100},
}
print(student["scores"]["python"]) # 100
student
name → "Anna"
scores
math → 95
python → 100
Список словарей — самый частый реальный паттерн
spisok_slovarej.py
students = [
{"name": "Anna", "score": 95},
{"name": "Bob", "score": 82},
]
for student in students:
print(student["name"], student["score"])
students (список)
[0]
name → "Anna"
score → 95
[1]
name → "Bob"
score → 82
Список словарей — это уже почти JSON
Ровно так организованы данные, приходящие от многих веб-сервисов (JSON) — подробно про JSON поговорим в одной из следующих глав, но структура «список записей, у каждой записи свои поля» уже полностью знакома.
Словарь списков — обратный вариант
slovar_spiskov.py
classroom = {
"students": ["Anna", "Bob"],
"scores": [95, 82],
}
Оба представления валидны — какое выбрать, зависит от того, как с данными будут работать дальше: список словарей удобнее, если часто нужна ОДНА запись целиком (найти Bob'а и все его данные); словарь списков — если чаще нужна ОДНА колонка целиком (все имена или все оценки).
Практика: вложенные словари и список словарей
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки