我不明白为什么我的代码不起作用,我有一个元组列表(或字典,我都试过),我想按元组的第二个值排序,并在第二个值相同时按第一个值排序。我尝试了以下代码:
sorted(my_list, key=lambda k: (k[1], k[0]), reverse=True)
但是我得到的列表只按第二个值排序...例如,对于这个列表:
l = [('ee',10), ('oo',11), ('aa', 10)]
我得到了这个输出:
[('oo', 11), ('ee', 10), ('aa', 10)]
,但按字典序来看,'aa'应该在'ee'之前... 我做错了什么?我尝试使用my_list.sort()
或者使用一个字典但都没有成功。问题可能在于"reverse True"条件上,但我想要的输出是:[('oo', 11), ('aa', 10), ('ee', 10)]
,基本上只希望将reverse true应用于lambda表达式的第一个条件...这可行吗?