将二维数组或列表拆分为python中的两个1维列表

aab*_*baa 4 python arrays list-comprehension list

你有一个二维的数字列表,如:

x = [[1,2],[3,4],[5,6],[7,8],[9,10],[11,12],[13,14],[15,16],[17,18]]
Run Code Online (Sandbox Code Playgroud)

您需要将其拆分为两个列表,以便从一个列表中的第一列和另一个列表中的第二列获取数字:

[1,3,5,7,9,11,13,15,17] [2,4,6,8,10,12,14,16,18]
Run Code Online (Sandbox Code Playgroud)

怎么能在python中完成?

我发布这个问题是因为我找不到简单的答案.我稍后会回答.

Moi*_*dri 8

这是使用zipas 的理想情况:

>>> x = [[1,2],[3,4],[5,6],[7,8],[9,10],[11,12],[13,14],[15,16],[17,18]]

#       v unpack `x` list
>>> zip(*x)
[(1, 3, 5, 7, 9, 11, 13, 15, 17), (2, 4, 6, 8, 10, 12, 14, 16, 18)]
Run Code Online (Sandbox Code Playgroud)

返回值是两个元组的列表.为了将每个tuple变量保存在变量中,您可以:

>>> a, b = zip(*x)
Run Code Online (Sandbox Code Playgroud)