当前位置: 主页 > 日志 > Python >

[转]python lambda, zip, filter 示例

转自:http://www.cnblogs.com/phonlin/archive/2010/02/05/1664688.html

 

    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']

 

    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')]

 

[日志信息]

该日志于 2011-04-26 00:08 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “[转]python lambda, zip, filter 示例” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部