graydeen
2021-10-19 11:01
采纳率: 100%
浏览 28
已结题

请问python中sorted函数中匿名函数lambda的这两种使用方法存在什么区别?

在实际运行过程中所得到的结果好像无大差别?(还是我举的数据不多?)
-代码块1

list1=eval(input())
list2 = sorted(list1,key=lambda x:(abs(x),x),reverse=True)
print(list2)
print(','.join(map(str,list2)))
    
代码块2
```python
list1=eval(input())
list2 = sorted(list1,key=lambda x:abs(x),reverse=True)
print(','.join(map(str,list2)))
    

```

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_42674918 2021-10-19 13:37
    已采纳

    我也挺好奇的,所以试着跑了一些数据
    输入:
    [-6, 6, -6, 1, -1, 1, 5, 4, 3, -3, 3]
    输出:
    6,-6,-6,5,4,3,3,-3,1,1,-1
    -6,6,-6,5,4,3,-3,3,1,-1,1
    对比结果确实不同,乍一看应该是输出1是先排序后绝对值,输出2是先绝对值后排序?

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题