python函数式编程之内建函数
# -*- coding: utf-8 -*-#学习lambda#lambda的作用是定义一个匿名函数lam = lambda x,y=20:x+yprint lam(2) ==> 22print lam(2,2) ==> 4########################################filterfrom random import randint#是否为奇数def odd(n):000return n%2allNums=[]#随机生成9个1到99之间的数for eachNum in range(9):print eachNum;allNums.append(randint(1,99))#打印奇数# filter就是借用odd方法来过滤allNums的数据print filter(odd,allNums)#1重构 odd就一句话,可以使用lambda代替改成 filter(lambda x : x % 2,allNums)#2重构,再改print [n for n in allNums if n%2]#3重构 整个过程可以直接变成一句话。python的魅力from random inport randint as riprint [n for n in [ri(1,99) for i in range(99)] if n % 2]# map的用法map(lambda x : x%2,argv)#相当于第一个参数是方法体,第二个参数是给这个方法体传的参数,返回调用方法体后得到的结果#reducereduce(lambda x,y : x+y),range(5))#计算过程为:((((0+1)+2)+3)+4) ==> 10