如何在lambda表达式中写赋值语句
lambda x: z = x+1如上所示,我希望在lambda表达式中写赋值语句
但是python解释器认为我在给lambda赋值,报了如下错误
SyntaxError: cannot assign to lambda lambda x: (z := x+1) globals()['z'] = x + 1 isdkz 发表于 2023-3-6 22:28
正解。加油,离1000分不远了。
lambda x: (z := x+1)#海象运算符:=,与传统赋值运算符“=”不同,海象运算符可以赋值并同时返回变量的值.
直接写成 lambda x:x+1即可
想想,在lambda中给Z赋值并不存在任何意义,假设能给Z赋值,出来函数外面以后就被销毁,不存在任何意义,直接返回X+1即可;况且在普通函数中,在return语句中使用赋值语句都会报错,故你这用赋值语句本就不合语法
页:
[1]