【发布时间】:2012-10-10 01:57:05
【问题描述】:
我有一个元组列表,我想将这个列表解压缩成两个独立的列表。我正在寻找 Python 中的一些标准化操作。
>>> l = [(1,2), (3,4), (8,9)]
>>> f_xxx (l)
[ [1, 3, 8], [2, 4, 9] ]
我正在寻找一种简洁和 Pythonic 的方式来实现这一点。
基本上,我正在寻找 zip() 函数的逆运算。
【问题讨论】:
-
zip基本上是它自己的逆。那样子还挺可爱的。 :) -
zip是 not 它自己的逆。虽然很接近。自身为逆的函数称为对合。 This answer 使用zip定义对合。 -
有实际实现的人吗?
-
如果你想按 Y 的值对 X 的值进行排序,然后返回两个单独的列表,你可以这样做:
y,x= map(list,zip(*sorted(zip(y, x))))
标签: python list tuples list-comprehension