python中的lambda函数

来源:互联网 发布:止水螺栓算法 编辑:程序博客网 时间:2024/06/08 04:21

今天学习python里面的高阶函数map(f , list)的时候看见这样一行代码

print map( lambda x: x%3, range(6))

我已经知道:map函数的首个参数是一个函数,后面的一个或者多个list or tuple作为第一个参数(也就是那个函数)的参数,以map的方式遍历执行,并返回一个list or tuple.

然而lambada又是什么?

我好奇的查了一下资料,原来lambda是一个匿名函数,用来简化内容简单的函数的声明,比如:

1 g = lambda x:x+1

  看一下执行的结果: 

  g(1)

  >>>2

  g(2)

  >>>3

  当然,你也可以这样使用:

  lambda x:x+1(1)

  >>>2   

  可以这样认为:lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数返回值,用函数来表示为:

1 def g(x):
2 return x+1

  非常容易理解,在这里lambda简化了函数定义的书写形式。是代码更为简洁,但是使用函数的定义方式更为直观,易理解。

  Python中,也有几个定义好的全局函数方便使用的,filter, map, reduce  





0 0