适用于python 2.x版本
1. lambda函数
1 func = lambda x, y : x + y 2 print func(2, 4)
lambda生成一个函数对象,参数是x,y, 返回x+y。
2. map() 函数
1 rtn = map((lambda x: x*3), [1, 2, 3, 4, 5, 6]) 2 print rtn
map是python内置函数,第一个参数是函数,第二个参数是一个序列。第一个函数作用与序列的每一个元素,并将结果放在序列rtn里。
3. reduce() 函数
rtn = reduce((lambda x, y : x + y), [1, 3, 5, 7, 9]) print rtn
reduce也是python内置函数,同样有两个参数,第一个参数是函数,第二个是序列。先将序列的前两个元素作为lambda函数的两个参数,返回值作为lambda的第一参数,序列的下一个元素(也就是第3个元素)作为lambda的第二个参数,依次作用于整个序列。
4. filter() 函数
def isOdd(n): if n % 2 == 0: return False else: return True rtn = filter(isOdd, [1, 2, 3, 4, 5, 6]) print rtn type(rtn)
filter函数同样是python内置函数。filter函数的第一个参数是一个函数,用来筛选数据的函数;第二个参数是待筛选的数据。
isOdd判断是不是基数,是返回True, 不是返回False。filter的时候根据isOdd函数返回的结果来决定要不要把这个数保留下来,True的话保留下来。这样就起到了筛选的作用。
总结:
lambda 函数
map() 函数
reduce() 函数
filter() 函数
python函数对象
时间: 2024-12-14 09:07:23