【发布时间】:2020-03-22 23:47:43
【问题描述】:
我需要一些关于 python 中的 lambda 函数的意见。
我一直在 python 中使用 Lambda 函数。例如,DirList = [i for i in tmp if "PC" in i]。
不过今天听说一位讲师说python3不需要lambda函数。
我被告知,如果我正确使用 lambda,我的代码会更高效,因为 lambda 不是使用语句(if、for 等),而是被视为减少计算负担的表达式。但现在我对是否应该使用 lambda 感到困惑。
【问题讨论】:
-
"我被告知,如果我正确使用 lambda,我的代码会更高效,因为 lambda 不是使用语句(if、for 等),而是被视为减少计算量的表达式负担。”这绝对是不正确的。此外,您的 lambda
DirList = [i for i in tmp if "PC" in i]示例根本不使用 lambda 表达式。无论如何,是的,lambda表达式不是必要的,尽管有时人们更喜欢它们是为了方便/可读性。对于它的价值,Guido 想从 Python 3 中删除lambda -
您给出的示例与“lambda函数”无关。如果您使用的是 lambda,您的代码中将包含实际单词
lambda。因此,不清楚你在说什么。例子错了吗?或者你真的在谈论列表推导?在这种情况下,你确定你听懂了讲师在说什么? -
同样,如果您正在谈论列表推导,那么这些也不是必需的。它们稍微快一点,但这不是使用它们的主要原因。相反,它们应该用于提高可读性。随着每次迭代工作量的增加,这种优势无论如何都会消失。