为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这一定要用cmp=呢

cmp=lambda x,y:cmp(x.upper(),y.upper(

正在回答

4 回答

cmp是sorted()的参数,就像int(a,b)中的b一样,比如,你调用int (),使用的是2进制转换,则里面的参数是int(a,base=2),因此sorted中的cmp=就跟这里的base=一样。

1 回复 有任何疑惑可以回复我~

我也同问啊啊啊啊啊

0 回复 有任何疑惑可以回复我~

百度到的:要固定sorted()的cmp参数,需要传入一个排序函数作为cmp的默认值。

然后 我理解就是functools.partial是为sorted固定一个参数,也就是cmp参数,而cmp=lambda s1, s2: cmp(s1.upper(), s2.upper()是为了将函数内容lambda s1, s2: cmp(s1.upper(), s2.upper()赋给这个cmp参数。

我不晓得对不对哈。


0 回复 有任何疑惑可以回复我~

百度到的:要固定sorted()的cmp参数,需要传入一个排序函数作为cmp的默认值

然后我理解就是functools.partial是为sorted固定一个参数,也就是cmp函数,而cmp=lambda s1, s2: cmp(s1.upper(), s2.upper()是为了将函数内容lambda s1, s2: cmp(s1.upper(), s2.upper()赋给这个cmp参数。

我不晓得对不对哈。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255747    人
  • 解答问题       2946    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么这一定要用cmp=呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信