如何将一个元组列表解压到单个列表中?

可能重复:
Python中的转置/解压缩函数

我有一个元组列表,我想把这个列表解压到两个独立的列表中。 我正在寻找一些Python的标准化操作。

>>> l = [(1,2), (3,4), (8,9)] >>> f_xxx (l) [ [1, 3, 8], [2, 4, 9] ] 

我正在寻找一个简洁和pythonic的方式来实现这一目标。

基本上,我正在寻找zip()函数的逆操作。

使用zip(*list)

 >>> l = [(1,2), (3,4), (8,9)] >>> zip(*l) [(1, 3, 8), (2, 4, 9)] 

zip()函数将所有input中的元素配对,从第一个值开始,然后是第二个元素等。通过使用*l , 将 *l 所有元组作为zip()函数的单独参数应用 ,因此zip()对先用8再加3 ,再用49 。 那些恰好与列对应,或者是l换位

如果你想要一个列表清单:

 >>> [list(t) for t in zip(*l)] [[1, 3, 8], [2, 4, 9]] 

如果元组列表正确:

 >>> zip(*l) [(1, 3, 8), (2, 4, 9)]