如何在只对一个列表进行排序后,在两个列表中保持索引



我有两个数值列表。一个列表中的每个索引都需要保持在另一个列表的同一索引处,即使在我对其中一个进行排序之后也是如此(我想按升序对其进行排序,并将该列表中的每一点与另一列表中的一点绘制图(。换句话说,我需要以相同的方式更改两个列表中的索引顺序。

def Power():
work_done = WorkDone()
power = []
i = 0
while i < len(work_done):
if sustained_data[i] != 0:
power.append(round(work_done[i] / (sustained_data[i] * 60), 2))
i += 1
power.sort()
return power

我想绘制powersustained_data的关系图,其中sustained_data中的每个点都与power中的一个点相关(因为前者用于计算后者(。任何帮助都将不胜感激,谢谢!

虽然我的问题下面的第一条评论链接到了一个通用解决方案,但我设法绕过并确定,如果您创建两个列表的矩阵,并使用sort()函数,矩阵索引将根据第一个子索引进行排序,就像对标准列表进行排序一样。

test1 = [11, 2, 1, 14, 8]
test2 = [1, 2, 3, 4, 5]
i = 0
newtest = []
while i < len(test1):
newtest.append(
[test1[i], test2[i]]
)
i += 1
newtest.sort()

将输出:[[1, 3], [2, 2], [8, 5], [11, 1], [14, 4]]

也许这对未来的某个人有所帮助。

最新更新