提问人:Mckay Holmes 提问时间:8/8/2023 更新时间:8/8/2023 访问量:30
python中具有键函数的交替方向元组排序
Alternating-direction tuple sort with key function in python
问:
我需要对元组列表(长度 2)进行排序,但特别需要它按第二个值降序排序,然后按第一个值升序排序。 即(0,1)<(1,1)<(1,0)
我想我可以使用比较函数轻松完成,但想知道它是否适用于关键函数。
答:
1赞
Codist
8/8/2023
#1
您可以按如下方式使用 lambda 密钥:
tlist = [
(1,1),
(0,1),
(1,0)
]
print(sorted(tlist, key=lambda x: (-x[1], x[0])))
输出:
[(0, 1), (1, 1), (1, 0)]
或者,没有 lambda...
def cf(t):
a, b = t
return -b, a
print(sorted(tlist, key=cf))
评论
0赞
Mckay Holmes
8/9/2023
嗯,这是一个面子的时刻......谢谢:)
评论