python 中 lambda, map, reduce 函数的简单使用

声明: python学习中, 错误之处敬请谅解

python中有一些有趣的函数, 在这里只是做一些简单的记录,免得遗忘

lambda

  • lambad 是匿名函数, 语法结构为: lambda 参数(用逗号分隔):返回值 eg: lambda x,y : x+y
  • 下面通过一个例子来实现一个最简单的函数

      func = lambda x:x+10
      print(func(10))   # 20
      #等价于
      def func(x):
          return x+10
      print(func(10))   # 20

map

  • map的语法结构: map(函数,列表)
  • 列表中的每个元素都会执行函数的,执行完成后返回一个新的列表
  • 说明: 入参函数的参数个数必须为1, 只能且必须有一个参数
  • 简单示例

    lt = [1,2,3,4,5,6,7,8]
    def testMap(x):
      return x+10
    print(map(testMap,lt)) # [11,12,13,14,15,16,17,18]
    
    add = lambda y: y+10
    print(map(add,lt))   # [11,12,13,14,15,16,17,18]
    

reduce

  • reduce语法结构: reduce(函数, 列表, 初始值(可选参数))
  • 如果没有设置初始值时, 会把列表的第一个值和第二个值传递个函数, 再把函数返回的值和列表的第三个值作为参数传递函数, 依次进行, 最终返回一个值
  • 如果设置有初始值, 则会把列表的初始值和第一个值传递个函数, 再把函数返回的值和列表的第二个值作为参数传递函数, 依次进行, 最终返回一个值
  • 说明: 入参函数的参数个数必须为2, 当列表只有一个元素, 函数不会执行, 直接返回迭代器的首元素
  • 简单示例

    templt = [1,2,3,4,5,6]
    def add(x,y):
      return x + y
    print(reduce(add,templt))     # 21
    print(reduce(add,templt,10))  # 31

转载于:https://www.cnblogs.com/canfixme/p/10423114.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值