猿问

关于Python类的问题

class Person(object):
    pass

p1 = Person()
p1.name = 'Bart'

p2 = Person()
p2.name = 'Adam'

p3 = Person()
p3.name = 'Lisa'

L1 = [p1, p2, p3]
L2 = sorted(L1,key=lambda p : p.name ) #这里为什么要加上key=???

print L2[0].name
print L2[1].name
print L2[2].name


asdhjhg
浏览 1381回答 1
1回答

kngines

sorted(data, cmp=None, key=None, reverse=False) key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None, 即直接比较每个元素.(1)lambda只是一个表达式,函数体比def简单很多。(2)lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。(3)lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。PS:lambda的使用 使 把L1中的name循环赋值给 key的过程简写
随时随地看视频慕课网APP

相关分类

Python
我要回答