Python攻克之路-内置函数部分介绍

内置函数
常用的内置函数
1.filter(function,sequence)
描述:filter是一个函数,有两个参数,第一个参数是函数,第二个参数是序列,filter会遍历序列的元素,作为参数传进去,str = ['a','b','c','d']有四个元素,s不等于元素,就返回,等于就直接过滤掉.

In [33]: str = ['a','b','c','d']

In [34]: def fun1(s):
    ...:     if s != 'a':         ##判断
    ...:         return s
    ...: ret = filter(fun1,str) 
    ...: 

In [35]: ret  
Out[35]: <filter at 0x7f27bf7e8518>
#存的是过滤器对象,python2得到的结果是一个元组('b','c','d'),在python3时,,也是一个迭代器对象,迭代器是把值存到
 一个容器,不使用不会占用太大的空间,取时可以取一个使用一个

In [37]: list(ret)   #把它转换成列表
In [42]: str = ['e','f']

 

2.map(function,sequence)

In [43]: def fun2(s):
    ...:     return s + "reid"
    ...: ret = map(fun2,str) ##filter与map区别,filter需要条件if ret = map(func2,str)

In [44]: ret
Out[44]: <map at 0x7f27bf8412e8>

In [46]: list(ret)
Out[46]: ['ereid', 'freid']

注:对sequence中的item依次执行function(item),将执行结果组成一个map object迭代器返回.
    map也支持多个sequence,这就要求function也支持相应的数量参数输入
In [47]: def add(y,z):
    ...:     return y+z
    ...: print(list(map(add,range(10),range(10))))
    ...: 
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]


3.reduce(function,sequnce,starting_value)

In [49]: from functools import reduce   ##调用模块
In [50]: def add1(g,k):
    ...:     return g + k
    ...: print(reduce(add1, range(1,10))) #从1到9相加,叠加的结果
    ...: 
45
注:对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始始值调用 

                   

4.lambda

普通函数:
In [55]: def add(a,b):
    ...:     return a + b
    ...: add(3,4)
    ...: 
Out[55]: 7

匿名函数:lambda后面是参数,冒号后面直接使用代码块
In [56]: add = lambda c,d : c + d

In [57]: add(4,5)
Out[57]: 9

  

 

 

转载于:https://www.cnblogs.com/reid21/articles/8596052.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值