已采纳回答 / 龖敒
def cmp_ignore_case(s1, s2): if s1.lower()<s2.lower(): return -1 if s1.lower()>s2.lower(): return 1 return 0print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case) 大于号小于号错了
2017-11-29
已采纳回答 / HuffLeo
闭包简单点理解就是函数中套种函数,返回值是一个函数。在工作当中应用应该很广泛,可以想象,是可以解决很多复杂的工作,如果函数里面不能有函数,那么你必须要用多个函数来解决问题。代码肯定会很麻烦。闭包的存在就是为了让复杂的代码简单化。这也是 python 语言的特点和优势。
2017-11-29
已采纳回答 / 黎明码农
你是想这样吗class Person(object): def __init__(self, name, score): self.name = name self.score = score self.get_grade = lambda: 'A' def get_grade2(self): return 'b'lambda作为一个表达式,定义了一个匿名函数,本来没有实质区别,作用是一样的
2017-11-28
已采纳回答 / 小程序魔王
因为cmp(L1[0],L1[1]) = 1所以你这样写等价于L2 = sorted(L1,lambda p1,p2: 1)而返回值固定是1相当于没有排序
2017-11-12
已采纳回答 / 慕先生4523243
Python 3.X 的版本中已经没有 cmp 函数,如果你需要实现比较功能,需要引入 operator 模块,适合任何对象,包含的方法有:operator.lt(a, b)operator.le(a, b)operator.eq(a, b)operator.ne(a, b)operator.ge(a, b)operator.gt(a, b)operator.__lt__(a, b)operator.__le__(a, b)operator.__eq__(a, b)operator.__ne__(a, b...
2017-11-09
已采纳回答 / 書生42
x**(1/2)并不是就是平方的意思啊,正确的应该是math.sqrt(x),如果没有编程基础不建议慕课的python教程直接开始看,建议自己找本书开始学先
2017-11-09
已采纳回答 / Kingscent
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())...
2017-11-04