这可能在其他地方得到回答,但是我不确定要搜索什么。
我有一个数组(大小不固定),例如:
arr=[(x1,y1),(x2,y2),(x3,y3)]
我想将其转换为2个数组以进行绘图:
x_arr=[x1,x2,x3]
y_arr=[y1,y2,y3]
如何在python中执行此操作?
答案 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')