lam = lambda x,y=20:x+y print lam(2) ==> 22 print lam(2,2) ==> 4 ####################################### #filter from random import randint
#是否为奇数 def odd(n):000 return n%2
allNums=[] #随机生成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 ri print [n for n in [ri(1,99) for i in range(99)] if n % 2]
# map的用法 map(lambda x : x%2,argv) #相当于第一个参数是方法体,第二个参数是给这个方法体传的参数,返回调用方法体后得到的结果