Глава 11 · Очень много информации!
zip() и распаковка
Один инструмент, который часто идёт рука об руку с кортежами и распаковкой: соединить два списка поэлементно.
zip() — соединяем два списка попарно
zip_primer.py
names = ["Anna", "Bob"]
scores = [95, 82]
for name, score in zip(names, scores):
print(name, "—", score)
zip() останавливается на самом коротком
Если списки разной длины,
zip() по умолчанию останавливается, как только заканчивается более короткий — «лишние» элементы длинного списка просто игнорируются, без ошибки.zip() + dict — собрать словарь из двух списков
zip_v_dict.py
names = ["Anna", "Bob", "Maria"]
scores = [95, 82, 91]
result = dict(zip(names, scores))
print(result) # {'Anna': 95, 'Bob': 82, 'Maria': 91}
Распаковка в циклах
Мы уже пользовались этим для словарей (§11.17) — тот же принцип, что и распаковка кортежа из §11.13, только применённая внутри цикла:
raspakovka_v_cikle.py
pary = [("Anna", 95), ("Bob", 82)]
for name, score in pary:
print(f"{name}: {score}")
Практика: zip() и распаковка в циклах
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки