gpt4 book ai didi

python:如何根据两个不同的键对复杂列表进行排序

转载 作者:太空狗 更新时间:2023-10-29 17:56:26 28 4
gpt4 key购买 nike

我有一个按以下方式构建的奇怪列表:

[[name_d, 5], [name_e, 10], [name_a, 5]] 

我想先按数字 (desc) 对其进行排序,然后,如果数字相同,则按名称 (asc) 对其进行排序。所以我想要的结果是:

[[name_e, 10], [name_a, 5], [name_d, 5]]

我试图考虑一个可以在排序方法中使用的 lambda 函数,但我不确定我是否可以做到。

最佳答案

python 中的排序函数允许将函数作为排序键传递:

l = [[name_d, 5], [name_e, 10], [name_a, 5]]
# copy
l_sorted = sorted(l, key=lambda x: (x[1] * -1, x[0]))
# in place
l.sort(key=lambda x: (x[1] * -1, x[0]))

编辑:
1.排序
2.演示复制和就地排序

关于python:如何根据两个不同的键对复杂列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979872/

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