你如何在列表理解或eval中有多行语句?
我试图改变这段代码:
def f(x, y, b=''):
for i in x:
if i in y:
y.remove(i)
i *= 2
b += i
return b
Run Code Online (Sandbox Code Playgroud)
进入像这样的lambda函数:
j=lambda x,y:''.join(eval('y.remove(i);i*2')if i in y else i for i in x)
Run Code Online (Sandbox Code Playgroud)
两者x都是一个字符串,如'onomatopoeia'和,y是一个列表,如['o','a','o'].
但由于某种原因,它返回语法错误.有谁能解释一下?