python内置函数用法举例

发布时间:2019-10-13编辑:脚本学堂
本文介绍了python中几个内置函数的用法,包括lambda、filter、zip、reduce、map等内置函数的用法,需要的朋友参考下。

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