已采纳回答 / KingToAce
sorted()是高阶函数,可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。'a'的ASCII码是97,'b'的ASCII码是98,由首字母的ASCII码进行比较,根据自定义的比较函数进行排序。
2018-11-15
最赞回答 / 慕先生5781448
嗯,我也犯这个错误了。我理解下来差不多是这样,map遍历列表里的每一个元素,map所接收的两个参数,第一个参数是函数,第二个参数是列表。那第一个函数参数:所接收的参数是列表的每一个元素而不是整个列表。所以这里的s是列表里的第一个字符串,s[0]是第一个字符串的第一个字符。<...图片...>
2018-11-14
已采纳回答 / 慕姐7185533
python中字符串是以Unicode编码的,每个字符有对应不同的编码。大小写字母的编码不相同,例如'A'的编码为65,'Z'的编码为90,'a'的编码则为97,大写字母永远会排在小写字母之前。如果区分大小写,排序则变成['Credit','Zoo','about','bob']
2018-11-14
最新回答 / i丶3课
因为在加法的时候算得的结果是6/8(化简后-->3/4),其实这个没有什么具体的意义,就是遵循数理方面的规律,讲究最简单,最实际的结果(数学,物理考试经常会有这样的要求)
2018-11-13
最新回答 / 被翻身的咸鱼
class Person(object): passp1 = Person()p1.name = 'Bart'p2 = Person()p2.name = 'Adam'p3 = Person()p3.name = 'Lisa'L1 = [p1, p2, p3]L2 = sorted([p1, p2, p3], lambda p1, p2: cmp(p1.name.lower(),p2.name.lower()))print L2[0].nameprint L2[1].nameprint L2[2]....
2018-11-13
最新回答 / 哥雅的玛雅肖像
class Person(object): def __init__(self, name, gender, **kw): for eachKw in kw: setattr(self,eachKw,kw[eachKw]) p = Person('Bob', 'Male', age=18, course='Python')print p.ageprint p.course
2018-11-13
最新回答 / LotQin
上面是类的定义,写object代表着继承自object类。下面是对类进行实例化也就是创建类的对象,创建时调用的是__init__()方法,这个方法里面需要什么参数就在Person()里填入对应的参数。
2018-11-12
已采纳回答 / LotQin
这里用到的cmp(x, y)是Python2的一个内置函数,功能是如果x>y返回1,x<y返回-1,x==y返回0。你贴出的代码中是在分数相等的情况下,比较当前对象的name和s对象的name。(比较首字母的Ascii码大小)否则就是比较两个对象的分数,加个负号作用就是从大到小排序。
2018-11-12
已采纳回答 / LotQin
格式化输出的占位符,%s代表用字符串填充。给你找了篇博文,学习一下。https://www.cnblogs.com/fat39/p/7159881.html
2018-11-12