python函数lambda(), filter(), map(), reduce()

(1)lambda

lambda是在python中来创建匿名函数的,其语法格式为:

lambda [arg1[, arg2, ... argN]]: expression
使用举例:

#使用法一
fun = lambda x,y:x+y
print fun(1,2)
#输出结果为:
3

#使用法二
print (lambda x,y:x+y)(1,2)
#输出结果为:
3

#上面法一和法二相当于:
def func_1(x, y):
	return x + y
print func_1(1, 2)

(2)map()

map(function, sequence):对sequence中的item依次执行function(item),见执行结果组成一个List返回。举例如下:

def cube(x):
        return x*x*x
print map(cube, range(1, 11))
#输出结果为:
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]


(3)reduce()

reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和:

def add(x,y):
	return x + y
print reduce(add, range(1, 11))  
print reduce(add, range(1, 11), 20)

#输出结果为:
55 #1+2+3+4+5+6+7+8+9+10
75 #1+2+3+4+5+6+7+8+9+10+20

(4)filter()
filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回。例子如下
#例1
def f(x):
	return x % 2 != 0 and x % 3 != 0 
print filter(f, range(2, 25)) 
#输出结果为:
[5, 7, 11, 13, 17, 19, 23]

#例2
def f(x):
	return x != 'a' 
print filter(f, "abcdef") 
#输出结果为:
'bcdef'


你可能感兴趣的:(python函数lambda(), filter(), map(), reduce())