课程
/后端开发
/Python
/python进阶
cmp=lambda x,y:cmp(x.upper(),y.upper(
2015-09-04
源自:python进阶 2-15
正在回答
cmp是sorted()的参数,就像int(a,b)中的b一样,比如,你调用int (),使用的是2进制转换,则里面的参数是int(a,base=2),因此sorted中的cmp=就跟这里的base=一样。
我也同问啊啊啊啊啊
百度到的:要固定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参数。
我不晓得对不对哈。
然后我理解就是functools.partial是为sorted固定一个参数,也就是cmp函数,而cmp=lambda s1, s2: cmp(s1.upper(), s2.upper()是为了将函数内容lambda s1, s2: cmp(s1.upper(), s2.upper()赋给这个cmp参数。
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计