Ответ 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]