关于匿名函数lambda的列表排序里面的key和参数不是很明白?这个key跟字典的key一样吗?为什么不能用其它函数名f或f()接收?
35
收起
正在回答
2回答
同学,你好
1.在sort()函数中的key参数就是用来指定是根据什么排序的,当key=lambda x: x["age"]即为根据字典中的"age"的值来排序
2.key不可以换成其他函数名,key是sort()中的参数
3.x是列表中的每一个元素
好帮手慕小轩
2020-11-02 19:09:25
同学,你好,
1.sort()函数里面的key参数,只能key=lambda固定模式
1 2 3 4 5 | d = { 'a' : 6 , 'b' : 7 , 'd' : 5 , 's' : 10 } a = d.items() s = 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 } a = li.items() s = 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 | d = { 'a' : 6 , 'b' : 7 , 'd' : 5 , 's' : 10 } a = d.items() s = 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) |
Python全栈工程师2020
- 参与学习 人
- 提交作业 5238 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧