Python SyntaxError:语法无效,python3 中的函数参数中是否允许使用方括号?

Cat*_*ang 6 python python-2.x python-3.x

该函数适用于python2:

def setCellValue(self, (x, y), value):
    self.map[x][y] = value
Run Code Online (Sandbox Code Playgroud)

但是当我在 python3 中尝试时,它显示了无效的语法:

def setCellValue(self, (x, y), value):
                            ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

是支架问题吗?我怎样才能在 py3 中解决这个问题?

cs9*_*s95 5

是的,在python3中删除了元组解包。根据PEP 3113

本 PEP 开头的示例函数可以很容易地重写为:

def fxn(a, b_c, d):
    b, c = b_c
    pass 
Run Code Online (Sandbox Code Playgroud)

并且绝不会失去功能。

它的存在只会使语法和字节码生成复杂化,所以它被删除了。