我在 X 和 Y 中有数千个数据。我正在尝试绘制插值图,但要开始绘制它需要从负值开始。
x = [15000,14000,13000,12000,11000,0,-1000,-10000,-15000]
y = [1,1,1,1,1,0,-1,-1,-1]
我怎样才能把它变成这种格式
x = [-15000,-10000,-1000,0,11000,12000,13000,14000,15000]
y = [-1,-1,-1,0,1,1,1,1,1]
尝试这个:
x = x[::-1]
y = y[::-1]
我称之为“反转”一个列表,而不是“交换”它,但你明白了。
假设您确实需要对列表进行排序x
,并且还以与置换值y
相同的方式移动值x
,请看一下:
>>> x = [15000,14000,13000,12000,11000,0,-1000,-10000,-15000]
>>> y = [1,1,1,1,1,0,-1,-1,-1]
>>> x1, y1 = zip(*sorted(zip(x, y)))
>>> x1
(-15000, -10000, -1000, 0, 11000, 12000, 13000, 14000, 15000)
>>> y1
(-1, -1, -1, 0, 1, 1, 1, 1, 1)
所以x1
并且y1
在您想要的订单中。但它们是元组而不是列表。如果您需要列表,那么,例如,
x1, y1 = map(list, zip(*sorted(zip(x, y))))
是一种方法。
顺便说一句,如果您真正需要的只是简单地反转列表,那么@OscarLopez 的答案要容易得多:-)