1.map()函数
#map(func,List)
def foo(num):
return num*num
print map(foo,range(3))
输出为:
[0, 1, 4]
map()函数的第一个参数是函数,第二个参数多组输入参数。
map()函数的功能是把每组输入作为函数的参数,并求得函数的返回值,以序列的形式输出
2.filter()函数
#filter(func,List)
def foo(num):
if(num%2):
return False
return True
print filter(foo,[0, 1, 2, 3, 4, 5])
输出为:
[0, 2, 4]
filter()函数的第一个参数是boolean函数,第二个参数为List。
其功能是对List进行过滤,将List中的元素作为输入参数进入boolean函数进行判断,若函数输出为False则该元素在最终的输出List中被滤除,而True元素则被保留。
3.reduce()函数
假如我们要求一个List中所有元素的和,我们可以这样做
#filter(func,List)
def foo(x,y):
return x+y
sum = reduce(foo,[4,5,7])
print sum
输出为:
16
reduce()将List中前两个元素作为输入,得到返回值,再将上次的返回值和第三个元素作为参数得到返回值,如此直到List中的最后一个元素和上次的返回值输入作为输入得到的返回值 最后被作为reduce函数的输出。