map(function, sequence)
对 sequence 中的 item 依次执行 function(item),将 执行结果 组成一个 List 返回。
Note: 不论 function 或 sequence 参数项如何设置,最终返回值 一定是 一个list !
python2 中, map 返回 的是 list型 。 python3 中, map 返回 的是 map object(filter对象)。需要再加上 转list 操作才能达到 python2下的效果。
lst = [1, 2, 3]
strs = map(str, lst)
print(strs) # <map object at 0x7f002d4877b8>
print(list(strs)) # ['1', '2', '3']
sequence == None 时,视为无操作,返回原list。
str_function = lambda x : str(x)
box = [10, 20, 30]
print map(None, box)
打印结果:
[10, 20, 30]
普通迭代计算。
str_function = lambda x : str(x)
box = [10, 20, 30]
print map(str_function, box)
assert type(map(str_function, box)[0]) == str
打印结果:
['10', '20', '30']
在每个list中,并行取出下标相同的元素,执行计算。
cal_function = lambda x, y : x+y
list1 = [10, 10, 10]
list2 = [1, 2, 3]
print map(cal_function, list1, list2)
打印结果:
[11, 12, 13]