Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

enumerate и zip простыми словами

Две удобные функции, которые делают циклы чище: одна добавляет нумерацию, другая идёт по двум спискам сразу.

enumerate: номер + элемент

Иногда в цикле нужен не только элемент, но и его порядковый номер. enumerate() выдаёт пары «индекс, элемент», избавляя от возни со счётчиком вручную.

for i, name in enumerate(['Аня', 'Ваня']):
    print(i, name)   # 0 Аня / 1 Ваня

zip: два списка вместе

zip() объединяет несколько списков поэлементно: берёт первый элемент из каждого, потом второй и так далее. Удобно, когда данные лежат в параллельных списках.

names = ['Аня', 'Ваня']
points = [5, 4]
for n, p in zip(names, points):
    print(n, p)   # Аня 5 / Ваня 4

Зачем они нужны

Эти функции делают код короче и понятнее, убирая ручную работу с индексами. Как только освоите базовый for, enumerate и zip станут вашими частыми помощниками в реальных задачах.

Частые вопросы

Можно ли задать enumerate старт не с нуля? Да: enumerate(список, 1) начнёт с 1.

Что если списки в zip разной длины? zip остановится на самом коротком.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание