我有一个相当简单的问题,我已经找到了这个问题的几个答案,但我就是无法理解它。
我有一个 x 值列表(用于绘图)和一个同样长的 y 值列表。我想对 y 值列表进行排序并相应地更新我的 x 列表。 假设我有这些列表
xVars = [1,2,3,4,5]
yVars = [9,7,1,3,5]
排序后这是我想要的结果:
xVars = [3,4,5,2,1]
yVars = [1,3,5,7,9] #this is now sorted
这样做的目的是我想绘制最大 y 值和相关联的 x 值。
我遇到过 itemgetter() 函数和 sorted(key=) 但我都不理解(也就是说,它们不起作用,但那是因为我不理解它们,而不是因为它们不起作用) .
非常感谢!
编辑:非常感谢你们所有人,我希望我能选择你们所有人作为正确答案,但不幸的是我可以。你的解释非常有帮助,我现在对 python 有了更多的了解。谢谢! :)
最佳答案
>>> tmp = sorted(zip(xVars, yVars),key=lambda x: x[1])
>>> xVars = [x[0] for x in tmp]
>>> yVars = [x[1] for x in tmp]
>>> xVars
[3, 4, 5, 2, 1]
>>> yVars
[1, 3, 5, 7, 9]
关于Python排序列表和关联列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9242800/