本文主要讲解实际开发过程中常用的一些函数,前面的文章都没有讲,再这补上
一: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中平方根是整数的数