SyntaxError尝试返回赋值的值

时间:2018-05-05 22:31:09

标签: python syntax-error assignment-operator

假设我有list参数的功能,并且在我想要修改传递列表的内部,通过以下代码:

spy = [0,0,7]

def replace_spy(lista):
    return lista[2]=lista[2]+1

但它显示错误:SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:5)

作业是一种陈述,而不是表达。它没有任何价值。因此,您无法return作业的价值。

的语言允许这种事情的情况下,返回值的确切含义是多么模糊,但其中大多数 - 包括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中并不是一件有意义的事情。