能不能给个详尽的解释?
cmp=lambda s1,s2:cmp(s1.upper(),s2.upper())
实在看不懂。
cmp=lambda s1,s2:cmp(s1.upper(),s2.upper())
实在看不懂。
2016-04-05
完整点分析这个答案或许更好理解
1、functools.partial的用法为:functools.partial(模板,默认参数),这里用的是stored的函数模板
2、可以在python内用help来查看stored的参数定义,如下:
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
3、用cmp参数比较大小,由于要调用cmp函数,为了代码的简化使用匿名函数lambda书写
cmp = lambda s1,s2 :cmp(s1.upper(),s2.upper())
可以想象成cmp(x,y),如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
通过返回值,来判断排序,返回-1,x排在y前面
举报