是什么导致我的Python脚本中出现此无效语法错误?

时间:2013-10-10 02:43:34

标签: python

当我尝试运行它时,为什么'else'部分标记为红色?它说'语法无效'。

def interseccion(lista, lista2, resultado=[]):
if lista != []:
    if lista[0] in lista2:
        return interseccion(lista[1:], lista2, resultado+[lista[0]]
    else:                 
        return interseccion(lista[1:], lista2, resultado]

return resultado

2 个答案:

答案 0 :(得分:2)

特定错误是由于缺少右括号:

    return interseccion(lista[1:], lista2, resultado+[lista[0]] ) <-- that parenthesis is needed

答案 1 :(得分:0)

您必须在两个返回语句中关闭括号:

return interseccion(lista[1:], lista2, resultado+[lista[0]])

return interseccion(lista[1:], lista2, resultado)

同样if lista != []:更像是if lista:

我不确定你是否希望resultado默认为空列表!也许默认值应为None,然后您可以指定:

if resultado is None:
    resultado = []

一开始。