【发布时间】:2020-11-04 10:08:19
【问题描述】:
我有一个如下所示的列表:my_list = [('a', 4), ('z', 3), ('y', 3), ('x', 3), ('p', 2), ('o', 2)]。
重要的是列表中的元组按第二个元素([1])降序排序。
现在我需要根据每个组中的第一个元素 ([0]) 以升序对具有相同第二个元素的每组元组进行排序。也就是说,我需要获取列表
my_new_list= [('a', 4), ('x', 3), ('y', 3), ('z', 3), ('o', 2), ('p', 2)].
如何使用正确的 lambda 编写排序函数?我不能只写my_list.sort(key=lambda item: item[0]),因为当元组按第二个元素排序时,它会破坏元组的降序。
我的 lambda 应该是什么样的?
【问题讨论】: