Python-高阶函数

#encoding=UTF-8
import sys

# 高阶函数
'''高阶函数实际上是参数可接受函数的函数
即参数为函数的函数
'''

# map()
'''map()接收两个参数,一个是函数,一个是序列,
将此函数分别作用于该序列的每个元素,
返回处理后的序列结果
'''
def c2(x):
return x*2

re=map(c2,range(10))
print 'map结果:',re

# reduce()
'''reduce()接收两个参数,一个是函数【这个函数必须接收两个参数】,一个是序列,
reduce()函数将每次参数函数的结果继续与序列的下一个元素进行累积计算
返回计算结果
'''
#列表求和
def jia(x,y):
return x+y
re=reduce(jia,range(5))
print 'reduce结果:',re

# filter()
'''map()接收两个参数,一个是函数,一个是序列,
filter() 把传入的函数依次作用于每个元素,
然后根据返回值是 True 还是 False 决定保留还是丢弃该元素
'''
#保留偶数
def is_os(num):
return num % 2 ==0
re=filter(is_os,range(5))
print 'filter结果:',re

运行结果:

map结果: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
reduce结果: 10
filter结果: [0, 2, 4]

原文地址:https://www.cnblogs.com/yan-xiang/p/6737569.html