相关疑难解决方法(0)

Python 2列表理解和评估

你如何在列表理解或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'].

但由于某种原因,它返回语法错误.有谁能解释一下?

python lambda eval list-comprehension

8
推荐指数
1
解决办法
353
查看次数

标签 统计

eval ×1

lambda ×1

list-comprehension ×1

python ×1