lambda函数

作者: 暖A暖 | 来源:发表于2019-07-11 17:58 被阅读45次

lambda函数也叫匿名函数,就是没有函数名的函数。lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象。

lambda函数的语法只包含一个语句:

lambda [arg1 [,arg2,.....argn]]:expression
  • 冒号前面的是参数,可以有多个,用逗号隔开,冒号右边的是返回值。lambda语句构建的其实是一个函数对象。

例如下面这段代码,实现两个数相乘:

def fun(x, y):
    return x * y

print(fun(2,3))  # 6

如果我们使用lambda来写的话,一个lambda 表达式就可以搞定,不需要使用def :

fun = lambda x, y: x * y
print(fun(2, 3))  # 6

lambda使用

lambda相较于普通函数来说更加简洁,但是却不能共享在别的地方调用。所以一般是这个代码不需要别的地方复用,可以考虑使用lambda,这样的话可以省略给函数命名。

  • Python提供了很多函数式编程的特性,如filter、reduce、map、sorted等都支持函数作为参数,lambda函数就可以应用在函数式编程中。
# filter
list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27]
list2 = filter(lambda x: x % 3 == 0, list1)
print(list(list2))  # [3, 12, 9, 36, 27]

# map
list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27]
list2 = map(lambda x: x * 10, list1)
print(list(list2))  # [30, 120, 90, 250, 170, 360, 140, 170, 270]

# reduce
from functools import reduce
list1 = [3, 12, 9, 25, 17, 36, 14, 17, 27]
print(reduce(lambda x, y: x * y, list1))  # 31854967200

总结lambda 的使用其实很简单,但是也不要盲目去使用lambda ,看是否需要再使用它。

相关文章

  • Python基础——匿名函数+作用域

    一、匿名函数:lambda 函数名 = lambda 参数: 表达式 1、有名函数 2、匿名函数lambda [ ...

  • Python学习第五章

    lambda函数 lambda保留字用于定义一种特殊的函数——匿名函数,又称lambda函数。匿名函数并非没有名字...

  • python lambda函数

    lambda 是匿名函数 用来表达简单的函数使用lambda函数应该注意的几点: lambda定义的是单行函数,...

  • Python lambda函数

    lambda函数 在Python中,lambda函数是使用lambda表达式定义的单行匿名函数。它常用于将函数作为...

  • map和lambda表达式

    一. lambda 匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。 lambda 函数可以...

  • 用Python进行数据分析3.2 函数 0705

    Lambda函数 210705Python支持所谓的匿名lambda函数。lambda函数是一种通过单个语句生成函...

  • Python中的lambda用法总结

    lambda是匿名函数,使用lambda可节省函数名称。 lambda argument_list: expres...

  • lambda函数的作用

    目录 lambda函数让代码看起来更简洁直观 lambda函数是一个函数对象 总结 1.lambda函数让代码看起...

  • Python基础_07:匿名函数(2019-1-14)

    lambda lambda 作为内置函数的参数

  • Lambda函数

    lambda函数定义 lambda函数是C++11中的新特性,名称来自于lambda calculus(λ演算)。...

网友评论

    本文标题:lambda函数

    本文链接:https://www.haomeiwen.com/subject/ixndkctx.html