lambda表达式和map()函数

2016-06-19  本文已影响785人  福瑞斯特张

Lambda表达式是Python中一类特殊的定义函数的形式,使用它可以定义一个匿名函数。也就是说,匿名函数本质上就是一个函数,它所抽象出来的东西是一组运算。

问题来了,lambda既然也是函数,什么时候使用lambda表达式,什么时候使用def定义函数呢?

我的理解是当函数只需要做一件(有关运算的)事情,且函数名称无关紧要时,可选择lambda。

接下来看map() 函数,它可以将一个函数映射到一个可枚举类型上面。格式为:

  map(函数, 可枚举的类型)  #将函数  依次套用在每一个元素上面

实例:

x = [1,2,3]
  def add1(number):
      return number+1

#for循环
for item in x:
    print(add1(item))

#列表推导
print([add1(n) for n in x])

#map和lambda表达式
print(map(lambda n: n+1, x)

参考链接:

  1. 知乎吴涛对lambda、map的解释

https://www.zhihu.com/question/20125256

  1. 列表推导来自NovemberEleven的博客

http://www.cnblogs.com/skyhacker/archive/2012/01/27/2330288.html

上一篇下一篇

猜你喜欢

热点阅读