gpt4 book ai didi

python - 在python中使用子列表对列表进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 07:05:00 26 4
gpt4 key购买 nike

所以我有这个带有子列表的列表:

[[39, 4, 43], [23, 3, 26], [46, 5, 51], [66, 15, 51], [66, 7, 73], [10, 2, 12], [79, 8, 87]]

我需要按照每个子列表中第三个元素的顺序对列表进行排序。但如果它们中的两个或多个相等,就像在这种情况下:

[46, 5, 51], [66, 15, 51]

排序时的算法应该把第一个元素最大的子列表放在第一位,所以想要的输出应该是这样的。

 [[79, 8, 87],[66, 7, 73],[66, 15, 51],[46, 5, 51],[39, 4, 43],[23, 3, 26],[10, 2, 12]]

有什么提示可以解决这个问题吗?谢谢或你的时间和帮助

最佳答案

您可以像这样将排序顺序设置为元组:

l = [[39, 4, 43], [23, 3, 26], [46, 5, 51], [66, 15, 51], [66, 7, 73], [10, 2, 12], [79, 8, 87]]

sorted(l, key = lambda x: (x[2],x[0]), reverse=True)

结果:

[[79, 8, 87], [66, 7, 73], [66, 15, 51], [46, 5, 51], [39, 4, 43], [23, 3, 26], [10, 2, 12]]

关于python - 在python中使用子列表对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55365106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com