Что такое обратная функция zip в python?

Возможный дубликат:
Функция Transpose/Unzip в Python

Я использовал функцию zip() из библиотеки numpy для сортировки кортежей, и теперь у меня есть список, содержащий все кортежи. С тех пор я изменил этот список, и теперь я хотел бы восстановить кортежи, чтобы использовать свои данные. Как я могу это сделать?

Ответ 1

lst1, lst2 = zip(*zipped_list)

должен предоставить вам распакованный список.

*zipped_list распаковывает объект zipped_list. он затем передает все кортежи из объекта zipped_list в zip, который просто складывает их обратно, как они были, когда вы передавали их.

поэтому если:

a = [1,2,3]
b = [4,5,6]

то zipped_list = zip(a,b) дает вам:

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

и *zipped_list возвращает вам

(1,4), (2,5), (3,6)

zping, что с помощью zip(*zipped_list) возвращает две коллекции:

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