Python 中使用 key 函数进行交替方向元组排序

问题描述 投票:0回答:1

我需要对元组列表(长度为 2)进行排序,但特别需要它按第二个值降序排序,然后按第一个值升序排序。 即 (0,1)<(1,1)<(1,0)

我想我可以通过比较函数轻松做到这一点,但想知道它是否可以通过关键函数实现。

python sorting tuples comparison
1个回答
0
投票

您可以按如下方式使用 lambda 键:

tlist = [
    (1,1),
    (0,1),
    (1,0)
]

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

输出:

[(0, 1), (1, 1), (1, 0)]
© www.soinside.com 2019 - 2024. All rights reserved.