Python考试中的,为什么结果会是这个,求解惑

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/76408

img

是【111,33,2】
111 转成字符串长度是3,用-转为负数是-3
2 转成字符串长度是1,用-转为负数是-1
33 转成字符串长度是2,用-转为负数是-2
然后根据得到的-3,-1,-2 的值从小到大来排序列表,就是[111,33,2]
如有帮助,望采纳!谢谢!

sorted关键之处在key中的lambda
其x传的是每一个元素,现在对每个元素按
-len(str(x)) 方式变换,即按元素的字符串长度的负值来排序
那么111转变成-3 , 2转变成-1,33转变成-2-3最小,-2其次,-1最大
所以最终排序就是111 33 2