cmp是不是python自带的函数?
如果是的话,那么cmp=lambda 以后调用的cmp和默认的cmp是不是不一样了。
还是说只有在这个functools.partial里的cmp不一样。其他函数用cmp还是默认的cmp的定义?
如果是的话,那么cmp=lambda 以后调用的cmp和默认的cmp是不是不一样了。
还是说只有在这个functools.partial里的cmp不一样。其他函数用cmp还是默认的cmp的定义?
2017-11-04
sorted(iterable, cmp=None, key=None, reverse=False)里面有四个参数想必你是知道的。
里面的cmp原始值是None,但是你要排序的['bob', 'about', 'Zoo', 'Credit']里面有大小写,按照原来的cmp,他就会将大小写一起来排序,输出会是['Credit', 'Zoo', 'about', 'bob'],所以你要告诉他怎么个操作来排序,所以建立了一个函数lambda s1, s2: cmp(s1.upper(), s2.upper()),为什么是upper呢,这是要将list里边的元素统一变成大写或小写,再来排序输出的答案,才能符合题目中‘实现忽略大小写排序’。
举报