python 看不懂代码 求解释

请问第八行是什么意思(key=lambdax:x[sortI-1])是什么意思?... 请问第八行是什么意思(key=lambda x:x[sortI-1])是什么意思? 展开
 我来答
匿名用户
2019-07-03
展开全部
key 接受一个callable的对象,说白也就是一个函数,sort方法会把list的每一个元素传给key指向的函数,根据该函数返回的值对list的每个元素行进行排序,此处list的元素为list的每一行。
lambda x: x[sortI - 1] 是一个匿名函数,相当于 def 某某函数(x): return x[sortI - 1],此处装逼节约空间用lambda定义这个函数。也就是说你完全可以单独定义一个函数然后 (key=这个你定义的函数名)(函数名不加括号)。注意你定义的这个函数必须接受一个参数并且返回一个参数。
t8116189520
2019-07-02 · TA获得超过379个赞
知道小有建树答主
回答量:374
采纳率:73%
帮助的人:79.8万
展开全部
这个写法好像有点问题;
正常这种写法
li=[1, 2, 3, 4, 5, 6, 7, 8, 9]
li.sort(key=lambda x: abs(5-x))
print(li)
将列表li按照元素与5距离从小到大进行排序,结果为:
[5, 4, 6, 3, 7, 2, 8, 1, 9]
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式