gpt4 book ai didi

Python:使用两个按不同方向排序的键对列表进行排序

转载 作者:行者123 更新时间:2023-11-28 22:00:31 25 4
gpt4 key购买 nike

>>> from operator import itemgetter
>>> ul = [(10,2),(9,4),(10,3),(10,4),(9,1),(9,3)]
>>> ol = sorted(ul, key=itemgetter(0,1), reverse=True)
>>> ol
[(10, 4), (10, 3), (10, 2), (9, 4), (9, 3), (9, 1)]

我想要的是在第二个键上对 reverse=False 进行排序。换句话说,我希望结果是:

[(10, 2), (10, 3), (10, 4), (9, 1), (9, 3), (9, 4)]

我该怎么做?

最佳答案

要对数字进行排序,您可以使用负排序键:

sorted(ul, key=lambda x: (-x[0], x[1]))

或者,如果您有非数字数据,您可以进行两次排序(首先按最不重要的键排序):

ol = sorted(ul, key=lambda x: x[1])
ol = sorted(ol, key=lambda x: x[0], reverse=True)

关于Python:使用两个按不同方向排序的键对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14782031/

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