将两行列表理解合并为一

时间:2019-05-04 17:25:00

标签: python list tuples

我有一个元组列表,像这样:

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

我希望结果是这样的:

odd = [1, 3, 5]
even = [2, 4, 6]

我可以这样实现:

odd = [x[0] for x in loft]
even = [x[1] for x in loft]

但是我需要一行完成。我尝试过:

odd, even = [x[0], x[1] for x in loft]

但是给我这个错误:

File "<stdin>", line 1
    odd, even = [x[0], x[1] for x in loft]
                         ^
SyntaxError: invalid syntax

可以一行完成吗?

1 个答案:

答案 0 :(得分:6)

您可以对JSONCollection#UpdateBuilder使用解包:

JSONCollection#UpdateCommand.UpdateElement

输出:

zip

如果您希望结果为loft = [(1, 2), (3, 4), (5, 6)] odd, even = zip(*loft) ,而不是(1, 3, 5) (2, 4, 6) ,则可以使用list

tuple

输出:

map