Подтвердить что ты не робот

Как записывать списки в список

Я хочу закрепить следующий список списков:

>>> zip([[1,2], [3,4], [5,6]])
[[1,3,5], [2,4,6]]

Это может быть достигнуто с текущей реализацией zip, только если список разбит на отдельные компоненты:

>>> zip([1,2], [3,4], [5,6])
   (1, 3, 5), (2, 4, 6)]

Невозможно определить, как разбить список и передать отдельные элементы в zip. Предпочтительным является функциональное решение.

4b9b3361

Ответ 1

Попробуйте следующее:

>>> zip(*[[1,2], [3,4], [5,6]])
[(1, 3, 5), (2, 4, 6)]

См. Распаковка списков аргументов:

Обратная ситуация возникает, когда аргументы уже находятся в списке или кортеже, но их нужно распаковать для вызова функции, требующего отдельных аргументов позиции. Например, встроенная функция range() ожидает отдельных аргументов запуска и останова. Если они не доступны отдельно, напишите вызов функции с помощью * -оператора, чтобы распаковать аргументы из списка или кортежа:

>>> range(3, 6)             # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args)            # call with arguments unpacked from a list
[3, 4, 5]