-
koc
楼上纯粹是在瞎说…… x if condition else y 是一个 python 的专门的语法,等价于 C 里面的 condition ? x : y,如果你没学过 C 的话,这个语法的含义就是,先判断 condition 的真假,如果为真,整个表达式就返回 x,如果为假就返回 y。和 lambda 表达式没什么关系。
-
雨中寥落
.........大哥lambda:x -x if x < 0 else x if x<0 lambda x: -x if x < 0 else x if x<0这俩一样吗......
-
清波
姑且成 lambda表达式 为匿名函数吧, lambda 表达式的主体 也就是冒号后面的语句,并不是标准的Python代码块,而是一个简单地逻辑结构,所以Python 中的一些语法没有应用到这里,这也就是 if 后面没有 冒号的原因。另外,楼主这个lambda表达式,令人费解,还有语法错误。不知何解,望告知。