<分区>
情况是这样的,我有一个这样的列表:
[(1,a),(1,b),(5,c)]
我想对列表进行排序,使其首先取决于降序排列的数字,然后是升序排列的字符。
我试过:
sorted(theList, key = lambda x:(x[0], x[1]), reverse = True)
但是结果在两个键中都是按降序排列的。显然,反向只取一个变量 我在网上搜索但找不到解决方案。请帮忙!谢谢!
<分区>
情况是这样的,我有一个这样的列表:
[(1,a),(1,b),(5,c)]
我想对列表进行排序,使其首先取决于降序排列的数字,然后是升序排列的字符。
我试过:
sorted(theList, key = lambda x:(x[0], x[1]), reverse = True)
但是结果在两个键中都是按降序排列的。显然,反向只取一个变量 我在网上搜索但找不到解决方案。请帮忙!谢谢!
最佳答案
如果元组中的第一个元素是整数,则可以按其负值排序:
sorted(theList, key=lambda (num, letter): (-num, letter))
关于Python排序两个键两个顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176918/