【发布时间】:2018-10-16 02:25:45
【问题描述】:
假设我有一个带有列表参数的函数,并且在它的主体内我想通过这段代码修改传递的列表:
spy = [0,0,7]
def replace_spy(lista):
return lista[2]=lista[2]+1
但它显示错误:SyntaxError: invalid syntax
【问题讨论】:
标签: python syntax-error assignment-operator
假设我有一个带有列表参数的函数,并且在它的主体内我想通过这段代码修改传递的列表:
spy = [0,0,7]
def replace_spy(lista):
return lista[2]=lista[2]+1
但它显示错误:SyntaxError: invalid syntax
【问题讨论】:
标签: python syntax-error assignment-operator
赋值是一个语句,而不是一个表达式。它没有价值。所以你不能return赋值的值。
在所有允许允许这种事情的语言中,返回值究竟应该是什么是模棱两可的,但它们中的大多数——包括 C 和许多源自 C 或受 C 启发的语言——都会给出你lista[2]1 的新值。所以大概你想要这个:
def replace_spy(lista):
lista[2]=lista[2]+1
return lista[2]
如果您希望缩短内容,这会减少击键次数,并且可能更具可读性:
def replace_spy(lista):
lista[2] += 1
return lista[2]
1。作为“左值”,但这在 Python 中没有意义。
【讨论】:
lista[2] += 1 :D