Python排序列表和关联列表

标签 python list lambda matplotlib

我有一个相当简单的问题,我已经找到了这个问题的几个答案,但我就是无法理解它。

我有一个 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/

相关文章:

python - Disco 的 "Could not parse worker event:"错误是什么意思?

python - 查找数据框中每一列的平均值,按列分组,不包括一个值

python - 定义和访问自定义对象列表

c# - 我如何对 List<int> 进行分组并返回 List<int>

c# - 如何获取lambda表达式参数

python - 使用python读取Amibroker价量数据

python - Pandas 将分钟数字索引(0 到 1440)转换为日期时间

c# - Lambda 表达式为列表中的每个不同值返回一个结果

java - 如何使用反射来获取对可以传递的 lambda 的引用?

java - 使用过滤器和流将 Map<String, Object> 转换为 Map<String, Set<Object>>