pylint针对以下代码返回以下消息:
data.py:125:30:W0108:Lambda可能不是 必需的(不必要的lambda)
in_p = ', '.join(list(map(lambda x: "'{}'".format(x), data)))
为什么这里不需要lambda以及如何将其重构?
答案 0 :(得分:2)
"'{}'".format
已经是一个函数;您的lambda表达式定义了一个函数,除了接受参数并将其传递给另一个函数外,该函数什么也不做。你可以简单地写
in_p = ', '.join(list(map("'{}'".format, data)))
有些人可能更喜欢在这里使用列表理解:
in_p = ', '.join(["'{}'".format(x) for x in data])
使用临时变量以提高可读性也可能是值得的。
quote_it = "'{}'".format
in_p = ', '.join(list(map(quote_it, data)))
# in_p = ', '.join([quote_it(x) for x in data])