Python isub在lambda中

Jse*_*mol 1 python syntax lambda python-3.x

为什么left = lambda: cursor = cursor - 1同时工作left = lambda: cursor -= cursor会给我一个语法错误?

是否存在减少内部的问题lambda

编辑:一点背景.我想要一个有以下成员的班级:

self.instructions = {
            "0": lambda: self.tape[self.cursor] = 0   
            "1": lambda: self.tape[self.cursor] = 1
            "L": lambda: self.cursor -= 1
            "R": lambda: self.cursor += 1
            "HALT" = lambda: self.halted = True]
        }
Run Code Online (Sandbox Code Playgroud)

我该如何工作?

kin*_*all 5

lambda表达是仅返回一个值的功能的快捷方式:

func = lambda x: x - 1
Run Code Online (Sandbox Code Playgroud)

大致相同

def func(x):
    return x - 1
Run Code Online (Sandbox Code Playgroud)

你的两个例子都不起作用,因为赋值不是Python中的表达式,就像在其他语言中一样(特别是那些类似于C的语言).也就是说,cursor = cursor - 1不能lambda超过任何cursor -= 1可以.两者都不能return发表声明.