Python3内联if和for语句

时间:2014-10-15 23:03:14

标签: python-3.x

def interseccion(lista1, lista2):
    return [x if x in lista2 for x in lista1] // Syntax error here (1)
    #~ return [x for x in lista1 if x in lista2] // A way I found searching that works)

print(interseccion([1,2,3,4,5,6],[1,3,5]))

所以,我试图在这种表达方式上找到Python的文档但无法找到它。

x if x in lista2似乎总是else,但我不需要它。使用else pass也无效。

我想获得一些指向这些表达式的文档的链接....谢谢!

1 个答案:

答案 0 :(得分:2)

你打算写:

return [x for x in lista1 if x in lista2]

这些被称为list comprehensions