map,reduce高阶函数
iterator:迭代器
python的iterator是一个惰性序列(即你不主动去遍历它,他不会去计算其中元素的值)
m是一个iterator,所以通过tuple()函数让整个序列计算出来,并返回一个元组。
def f(x): return x*x m = map(f,[1,2,3,4,5]) print(tuple(m))
map函数作为一个高阶函数,可以更快,更方便的对一些函数进行处理。 map函数接受的函数作用于列表里的每个元素。
print(list(map(str,[1,2,3,4,5]))) #列表里的元素转成字符串 print(list(map(abs,[1,2,-2,-3,-6])))
对一个序列求和,可用reduce。
from functools import reduce def func(x,y): return x+y print((reduce(func,[1,2,3,4,5,6])))
from functools import reduce def func(x,y): return x*10+y print((reduce(func,[1,2,3,4,5,6]))) #结果为123456
越是困难的事越要立即去做,这样收益才会最大!!!