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

Мини-проекты с коллекциями

Четыре коротких, но настоящих применения того, что мы изучили: контакты, игровое поле, список класса и сравнение множеств.

Записная книжка контактов (dict)

zapisnaya_knizhka.py
contacts = {
    "Anna": "anna@example.com",
    "Bob": "bob@example.com",
}

contacts["Maria"] = "maria@example.com"   # добавить
contacts["Anna"] = "anna.new@example.com"  # изменить
del contacts["Bob"]                          # удалить

for name, email in contacts.items():
    print(f"{name}: {email}")
Уже мини-база данных
Записная книжка — это, по сути, крошечная база данных в памяти: словарь как хранилище, ключ как уникальный идентификатор записи.

Игровое поле (вложенный список)

igrovoe_pole.py
board = [
    [".", ".", "."],
    [".", "X", "."],
    [".", ".", "."],
]

for row in board:
    print(" ".join(row))
0
1
2
0
.
.
.
1
.
X
.
2
.
.
.
board[1][1] = 'X' — та же модель матрицы, что и в §11.11

Список класса (список словарей)

spisok_klassa.py
roster = [
    {"name": "Anna", "score": 95},
    {"name": "Bob", "score": 82},
    {"name": "Maria", "score": 91},
]

total = sum(student["score"] for student in roster)
average = total / len(roster)
print(f"Средний балл: {average:.1f}")

Сравнение множеств: чего не хватает

sravnenie_navykov.py
required = {"python", "git", "sql"}
available = {"python", "git"}

missing = required - available
common = required & available
print("Не хватает:", missing)
print("Уже есть:", common)
required available
sql
python
git
{'sql'}
required - available — каких навыков не хватает
Практика: мини-проекты с коллекциями
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →