【发布时间】:2021-09-11 19:20:33
【问题描述】:
我是 python 新手,出于练习的原因,我正在尝试解决以下任务:
给定一个元组列表
A = [(17, 8), (17, 12), (7, 2), (9, 15), (9, 17), (1, 4), (3, 9), (12, 14)]
我的目标是:在 (n log n) 时间内根据集合的第一个元素对列表进行降序排序,如果两个集合的第一个元素相同,则排序根据第二个元素降序排列。 --> x <= x', y <= y'
所以,我想得到结果:
A = [(17, 12), (17, 8), (12, 14), (9, 17), (9, 15), (7, 2), (3, 9), (1, 4)]
我尝试过使用以下代码:
A.sort(reverse = True, key=lambda x: x[0] )
但它只是根据第一个元素排序,我知道它是否在 n log n 时间内。
你能帮我解决这个问题吗? 谢谢!
【问题讨论】: