python序列函数

zip:序列并行处理

>>> name=['ghostwu','wukong','bajie']
>>> age=['20','30','40']
>>> sex=['male','female', 'female' ]
>>> zip( name, age, sex )
[('ghostwu', '20', 'male'), ('wukong', '30', 'female'), ('bajie', '40', 'female')]
>>> 

map可以达到类似的效果

>>> map( None, name, age, sex )
[('ghostwu', '20', 'male'), ('wukong', '30', 'female'), ('bajie', '40', 'female')]
>>> 

如果有一项项数不够,以最小的为标准

>>> qq = ['12', '34']
>>> zip( name, age, sex, qq )
[('ghostwu', '20', 'male', '12'), ('wukong', '30', 'female', '34')]
>>> 
>>> map( None, name, age, sex, qq )
[('ghostwu', '20', 'male', '12'), ('wukong', '30', 'female', '34'), ('bajie', '40', 'female', None)]

map:项数不足,用None填充

另一个功能,调用函数,序列的每一项作为函数的参数

>>> a=[10,20,30]
>>> b=[40,50,60]
>>> def add( x, y ):
...     return x + y
... 
>>> map( add, a, b )
[50, 70, 90]

还有很多,如之前用过的reduce

 

posted @ 2018-03-20 22:13  ghostwu  阅读(410)  评论(0编辑  收藏  举报
Copyright ©2017 ghostwu