请问sorted的多级排序中可以一个用倒序一个用正序吗

img

请问sorted的多级排序中可以一个用倒序一个用正序吗 就比如这一题我想让按长度排序倒序,大小排序正序怎么写?

取相反数就能反序, reverse也能省掉的, 如果key参数中函数返回值都在>=1区间,还能使用倒数,如 1/len(x) 或 1/int(x)
还有对列表来说,可以直接用.sort()方法排序,而不用sorted()函数

>>> a = ['12','1344','134','012']
>>> b = sorted(a, key=lambda x:(len(x),-int(x)), reverse=True)
>>> b
['1344', '012', '134', '12']
>>> b = sorted(a, key=lambda x:(-len(x),int(x)))
>>> a = ['12','1344','134','012']
>>> a.sort(key=lambda x:(1/len(x),int(x))) 
>>> a
['1344', '012', '134', '12']
>>> b
['1344', '012', '134', '12']
>>> a
['12', '1344', '134', '012']
>>> a.sort(key=lambda x:(-len(x),int(x)))
>>> a
['1344', '012', '134', '12']

这个通过嵌套排序可以实现,不嵌套不知道怎么弄,可能不行吧

a = ['12','1344','134','012']
b = sorted(sorted(a,key=lambda x:(int(x)),reverse=False),key=lambda x:(len(x)),reverse=True)
print(b)