您的位置:首页 > 编程语言 > Python开发

python第17天:函数补充(zip,map,reduce,filter等)

2017-04-11 10:40 645 查看
本文主要讲解实际开发过程中常用的一些函数,前面的文章都没有讲,再这补上

一:zip



二:map

有主要一个业务场景,有个list列表,比如是[1,3,10,2,9],如果我想把list里面的每个值都+1,那么该怎么实现呢,这个时候map就闪亮登场了



当然还可以这样用,如果不传函数,只传个None,居然有了zip的味道



有人说map跟列的推导式有点像,其实是错误的,不信你自己试一下

[abc(a,b,c) for a in x for b in y for c in z]

三:reduce

reduce的操作有点迭代操作的意思,先函数第一个和第一个值,再把前面求到的值函数第三个值,以此类推,看例子,例子中是1和2作为add2的参数,执行结果得到3,然后3和5作为add2的参数,得到8



当然可以和匿名函数一起使用

print reduce(lambda x,y:x+y,(1,2,5))

结果是一样的

注意:在python 3以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce.

四:filter

filter顾名思义,拦截、过滤的意思

比如,过滤掉集合中的所有偶数,就要定义一个获取奇数的函数



也可以清楚None或者空字符串



注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。

当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')。

不过瘾?再来个例子

过滤出1~100中平方根是整数的数

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息