Что выведет этот код?


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.

Разберем по шагам:

  1. a = [1, 2, 3]: Создается список a с элементами 1, 2 и 3.
  2. b = [4, 5, 6]: Создается список b с элементами 4, 5 и 6.
  3. result = list(zip(a, b)):
    • zip(a, b): Функция zip() принимает два или более итерируемых объекта (в данном случае списки a и b) и возвращает итератор, который генерирует кортежи. Каждый кортеж содержит элементы, взятые с одинаковыми индексами из входных итерируемых объектов. Таким образом, первый кортеж будет (1, 4), второй (2, 5), и третий (3, 6).
    • list(...): Функция list() преобразует итератор, возвращенный zip(), в список.
  4. 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() может принимать более двух итерируемых объектов.
  • В Python 3 zip() возвращает итератор, а не список напрямую (как это было в Python 2). Поэтому необходимо преобразовать результат в список, если требуется получить именно список.
0