3 回答

koc
TA贡献1条经验 获得超1个赞
楼上纯粹是在瞎说…… x if condition else y 是一个 python 的专门的语法,等价于 C 里面的 condition ? x : y,如果你没学过 C 的话,这个语法的含义就是,先判断 condition 的真假,如果为真,整个表达式就返回 x,如果为假就返回 y。和 lambda 表达式没什么关系。

雨中寥落
TA贡献1条经验 获得超0个赞
.........大哥
lambda:x -x if x < 0 else x if x<0
lambda x: -x if x < 0 else x if x<0
这俩一样吗......

清波
TA贡献165条经验 获得超90个赞
姑且成 lambda表达式 为匿名函数吧, lambda 表达式的主体 也就是冒号后面的语句,并不是标准的Python代码块,而是一个简单地逻辑结构,所以Python 中的一些语法没有应用到这里,这也就是 if 后面没有 冒号的原因。
另外,楼主这个lambda表达式,令人费解,还有语法错误。不知何解,望告知。
添加回答
举报
0/150
提交
取消