关于匿名函数lambda的列表排序里面的key和参数不是很明白?这个key跟字典的key一样吗?为什么不能用其它函数名f或f()接收?

关于匿名函数lambda的列表排序里面的key和参数不是很明白?这个key跟字典的key一样吗?为什么不能用其它函数名f或f()接收?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学,你好

1.在sort()函数中的key参数就是用来指定是根据什么排序的,当key=lambda x: x["age"]即为根据字典中的"age"的值来排序

2.key不可以换成其他函数名,key是sort()中的参数

3.x是列表中的每一个元素


  • 风林海 提问者 #1
    还有个小疑问,sort()函数里面的key参数, 除了 key= lambda匿名函数之外,key还可以等于别的东西吗?还是只能key=lambda固定模式 ?
    2020-11-02 17:45:18
  • 风林海 提问者 #2
    还有那个x可不可以像匿名函数的参数一样,把x换成y,x : x 也换成 y :y 类似的,或者其它的参数字母 z, z :z 类似的呢?
    2020-11-02 17:49:52
  • 风林海 提问者 #3
    虽然把 x : x 也换成 y :y 和 z :z 类似的也能运行一样的结果,没有影响,就不知道这样改合不合规范,还是一般建议都用 x : x 呢 ?
    2020-11-02 17:58:36
好帮手慕小轩 2020-11-02 19:09:25

同学,你好,

1.sort()函数里面的key参数,只能key=lambda固定模式

1
2
3
4
5
= {'a'6'b'7'd'5's'10}
= d.items()
= list(a)
s.sort(key=lambda x: x[1])
print(s)

2.结合def方法一起使用,key=方法名

1
2
3
4
5
6
7
8
li = {'a'6'b'7'd'5's'10}
= li.items()
= list(a)
s.sort()
def fun(s):
   return s[1]
s.sort(key=fun)
print(s)

3.x是匿名函数的参数即列表中的每一个元素,x[1]是函数的返回值,可以换成任意的变量名

1
2
3
4
5
6
7
8
= {'a'6'b'7'd'5's'10}
= d.items()
= list(a)
s.sort(key=lambda x: x[1])
s.sort(key=lambda y: y[1])
s.sort(key=lambda z: z[1])
s.sort(key=lambda c: c[1])
print(s)


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码