python map和reduce的用法

map(function, sequence[, sequence, ...]) -> list 

Return a list of the results of applying the function to the items of 
the argument sequence(s). If more than one sequence is given, the 
function is called with an argument list consisting of the corresponding 
item of each sequence, substituting None for missing values when not all 
sequences have the same length. If the function is None, return a list of 
the items of the sequence (or a list of tuples if more than one sequence). 

reduce(...) 
reduce(function, sequence[, initial]) -> value 

Apply a function of two arguments cumulatively to the items of a sequence, 
from left to right, so as to reduce the sequence to a single value. 
For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates 
((((1+2)+3)+4)+5). If initial is present, it is placed before the items 
of the sequence in the calculation, and serves as a default when the 
sequence is empty.

 

 

>>> L1 = ['a', 'b', 'c']
>>> L2 = [1, 2, 3]
>>> zip(L1, L2)
[('a', 1), ('b', 2), ('c', 3)]
>>> map(L1, L2)
Traceback (most recent call last):
File "", line 1, in ?
TypeError: 'list' object is not callable
>>> map(None, L1, L2)
[('a', 1), ('b', 2), ('c', 3)]
>>> dict(zip(L1, L2))
{'a': 1, 'c': 3, 'b': 2}
>>> dict(map(None, L1, L2))
{'a': 1, 'c': 3, 'b': 2}

>>> L3 = []
>>> zip(L1, L3)
[]
>>> map(L1, L3)
[]
>>> map(None, L1, L3)
[('a', None), ('b', None), ('c', None)]
>>> dict(zip(L1, L3))
{}
>>> dict(map(None, L1, L3))
{'a': None, 'c': None, 'b': None}

>>> def fun(A, B):
... if B == None: B = ''
... return A, B
...
map(fun, L1, L2)
[('a', 1), ('b', 2), ('c', 3)
>>> map(fun, L1, L3)
[('a', ''), ('b', ''), ('c', '')]
>>> dict(map(fun, L1, L3))
{'a': '', 'c': '', 'b': ''}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值