a = [1, 2, 3]
b = [4, 5, 6]
result = list(zip(a, b))
print(result)
a
и b
, расположенные на одинаковых позициях.
Вывод: [(1, 4), (2, 5), (3, 6)]
Данный код демонстрирует использование функции zip()
в Python для объединения элементов двух списков (a
и b
) в кортежи, которые затем собираются в список result
.
Разберем по шагам:
a = [1, 2, 3]
: Создается список a
с элементами 1, 2 и 3.b = [4, 5, 6]
: Создается список b
с элементами 4, 5 и 6.result = list(zip(a, b))
:
zip(a, b)
: Функция zip()
принимает два или более итерируемых объекта (в данном случае списки a
и b
) и возвращает итератор, который генерирует кортежи. Каждый кортеж содержит элементы, взятые с одинаковыми индексами из входных итерируемых объектов. Таким образом, первый кортеж будет (1, 4), второй (2, 5), и третий (3, 6).list(...)
: Функция list()
преобразует итератор, возвращенный zip()
, в список.print(result)
: Выводит содержимое списка result
на экран.Ожидаемый вывод:
[(1, 4), (2, 5), (3, 6)]
Дополнительные замечания:
a
и b
имеют разную длину, zip()
остановится, когда достигнет конца самого короткого списка. Например, если бы a = [1, 2, 3]
и b = [4, 5]
, то result
был бы [(1, 4), (2, 5)]
.zip()
может принимать более двух итерируемых объектов.zip()
возвращает итератор, а не список напрямую (как это было в Python 2). Поэтому необходимо преобразовать результат в список, если требуется получить именно список.