【发布时间】:2019-03-05 15:42:09
【问题描述】:
我陷入了一个问题,我想不出任何有效的方法来做到这一点。问题如下:
我有 2 个列表,每个列表都有 n 到 10^3。
v = [v_1, v_2, ..., v_n]
w = [w_1, w_2, ..., w_n]
在下面的例子中n = 3。
v = [60, 100 , 120]
w = [20, 50, 30]
我需要根据以下等式的降序对两个列表进行排序:v_i/w_i
所以在这种情况下我会得到:
v_1/w_1 = 3
v_2/w_2 = 2
v_3/w_3 = 4
之后我需要按降序对两个列表(相互依赖)进行排序,我会得到以下结果。
v_new = [120, 60, 100]
w_new = [30, 20, 50]
我知道 sorted(zip(X,Y) 有一种方法,但这样做会改变我的元组列表,我需要它作为列表。有什么建议吗?
【问题讨论】:
-
您想进行就地排序还是创建一个新的 v 和 w 可以吗?
标签: python python-3.x list sorting