Pun*_*cky 9 python pylint python-3.x
pylint 正在为我下面的代码返回以下消息:
data.py:125:30: W0108: Lambda 可能不是必需的(不必要的 lambda)
in_p = ', '.join(list(map(lambda x: "'{}'".format(x), data)))
Run Code Online (Sandbox Code Playgroud)
为什么这里不需要 lambda 以及如何重构它?
che*_*ner 17
"'{}'".format已经是一个函数;您的 lambda 表达式定义了一个函数,除了接受一个参数并将其传递给另一个函数之外,什么都不做。你可以简单地写
in_p = ', '.join(list(map("'{}'".format, data)))
Run Code Online (Sandbox Code Playgroud)
有些人可能更喜欢在这里使用列表理解:
in_p = ', '.join(["'{}'".format(x) for x in data])
Run Code Online (Sandbox Code Playgroud)
为了可读性,使用临时变量也可能是值得的。
quote_it = "'{}'".format
in_p = ', '.join(list(map(quote_it, data)))
# in_p = ', '.join([quote_it(x) for x in data])
Run Code Online (Sandbox Code Playgroud)