python 的几个内置函数(lambda ,zip, filter, map, reduce )用法

 

    1.lambda lambda其实就是一条语句,lambda(x):body。x是lambda函数的参数,参数可以有任意多个(包括可选参数);body是函数体,只能是一个表达式,并且直接返回该表达式的值。
>>>f=lambda x:x+1
>>>f(2)
3
>>>(lambda x,y:x+y)(2,3)
5

 

     2.filter filter(func, list)接受两个参数:一个函数func和一个列表list,返回一个列表。函数func只能有一个参数。filter的功能:列表中所有元素作为参数传递给函数,返回可以另func返回真的元素的列表
>>>l=['abc','acd','1245','ddad','aaa']
>>>func(s)
... return s.startswith('a')
>>>filter(func, l)
['abc','acd','aaa']

 filter为过滤list,并返回list,绑定的函数为一个返回bool值的函数
 filter(lambda item:item>2,[1,2,3,4])
 >>>[3,4]


   def fun(x):
             return x>2 and x<6
      list=[1,2,3,4,5,6,7]
      filter(fun,list)
   >>> [3,4,5]
 

    3.zip  zip函数接受任意多个序列作为参数,将所有序列按相同的索引组合成一个元素是各个序列合并成的tuple的新序列,新的序列的长度以参数中最短的序列为准。另外(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple
>>>x=[1,2,3],y=['a','b','c']
>>>zip(x,y)
[(1,'a'),(2,'b'),(3,'c')]
>>>zip(*zip(x,y))
[(1,2,3),('a','b','c')]


           
     
     4.map为操作list,返回list,绑定的函数为修改list中每一个值的函数
     >>> list=[1,2,3]
     >>> map(lambda x : x*2,list)
     >>> [2, 4, 6]
 
     5.reduce为逐次操作list里的每项,接收的参数为 2个,最后返回的为一个结果
     >>>  def myadd(x,y):  
     >>>               return x+y
     >>>   sum=reduce(myadd,(1,2,3)) 
     >>> 6

 

http://www.cnblogs.com/phonlin/archive/2010/02/05/1664688.html
http://www.cnblogs.com/lanstonpeng/articles/1875727.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值