将数组分解为组件数组

时间:2019-05-15 23:33:19

标签: python arrays

这可能在其他地方得到回答,但是我不确定要搜索什么。

我有一个数组(大小不固定),例如:

arr=[(x1,y1),(x2,y2),(x3,y3)]

我想将其转换为2个数组以进行绘图:

x_arr=[x1,x2,x3]
y_arr=[y1,y2,y3]

如何在python中执行此操作?

2 个答案:

答案 0 :(得分:0)

您可以使用此语法以紧凑的方式遍历列表

>>> x1, x2, x3 = 1, 2, 3, 
>>> y1, y2, y3 = 3, 2, 1
>>> arr=[(x1,y1),(x2,y2),(x3,y3)]
>>> x, y = [s[0] for s in arr], [s[1] for s in arr]
>>> x
[1, 2, 3]
>>> y
[3, 2, 1]

答案 1 :(得分:0)

假设它们不是太大(在这种情况下,您肯定应该使用numpy),则可以将zip*一起使用:

>>> arr=[('x1','y1'),('x2','y2'),('x3','y3')]
>>> arr
[('x1', 'y1'), ('x2', 'y2'), ('x3', 'y3')]
>>> x_arr, y_arr = zip(*arr)
>>> x_arr
('x1', 'x2', 'x3')
>>> y_arr
('y1', 'y2', 'y3')