【问题标题】:Does Lambda function not required?不需要 Lambda 函数吗?
【发布时间】: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。因此,不清楚你在说什么。例子错了吗?或者你真的在谈论列表推导?在这种情况下,你确定你听懂了讲师在说什么?
  • 同样,如果您正在谈论列表推导,那么这些也不是必需的。它们稍微快一点,但这不是使用它们的主要原因。相反,它们应该用于提高可读性。随着每次迭代工作量的增加,这种优势无论如何都会消失。

标签: python lambda


【解决方案1】:

这两个函数的速度应该没有区别参考:lambda is slower than function call in python, why(剧透警告,它不是)

lambda 只是一个使用单个表达式创建的函数,没有名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    相关资源
    最近更新 更多