В Python вы можете перебирать две или более последовательностей одновременно, используя функцию zip(). Функция zip()принимает несколько итераций в качестве аргументов и возвращает итератор, который генерирует кортежи, содержащие элементы из каждой итерации. Вот пример:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for item1, item2 in zip(list1, list2):
print(item1, item2)
Выход:
1 a
2 b
3 c
Другой подход — использовать функцию itertools.zip_longest(), которая позволяет перебирать несколько последовательностей разной длины. Он заполняет более короткие последовательности указанным значением по умолчанию или None, если значение по умолчанию не указано. Вот пример:
from itertools import zip_longest
list1 = [1, 2, 3]
list2 = ['a', 'b']
for item1, item2 in zip_longest(list1, list2):
print(item1, item2)
Выход:
1 a
2 b
3 None
Существуют и другие методы достижения одновременной итерации, например использование индексации и функции range()или использование функции enumerate(). Однако функции zip()и zip_longest(), как правило, более просты для одновременного выполнения нескольких последовательностей.