python 序列处理函数

来源:互联网 发布:程序员的修炼之道下载 编辑:程序博客网 时间:2024/05/17 20:37

filter(函数,列表)过滤

对列表做过滤
将列表中,每个值对于函数返回值为True的时候,保留
比如:将>5 的值取出来。

>>> def f(x):...     if x > 5:...         return True...>>> f(6)True>>> f(1)>>> l = range(10)>>> filter(f,l)[6, 7, 8, 9]

zip()并行遍历、 map()

当列表长度不一样的时候,zip会取最短的长度
但是map会用None填充

>>> name = ["a",'b','c']>>> age = [1,2,3]>>> tel = ['11','22','33']>>> zip(name,age,tel)[('a', 1, '11'), ('b', 2, '22'), ('c', 3, '33')]>>> map(None,name,age,tel)[('a', 1, '11'), ('b', 2, '22'), ('c', 3, '33')]>>> test=[1,2]>>> zip(name,test)[('a', 1), ('b', 2)]>>> map(None,name,test)[('a', 1), ('b', 2), ('c', None)]>>> a =[1,2,3]>>> b = [4,5,6]>>> def mf(x,y):...     return x*y...>>> map(mf,a,b)[4, 10, 18]

reduce()

>>> l = range(100)>>> reduce(lambda x,y:x+y,l)4950

不用for循环了,更加简练了

0 0
原创粉丝点击