python函数式编程之内建函数


# -*- coding: utf-8 -*-

#学习lambda
#lambda的作用是定义一个匿名函数

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)
#相当于第一个参数是方法体,第二个参数是给这个方法体传的参数,返回调用方法体后得到的结果

#reduce
reduce(lambda x,y : x+y),range(5))
#计算过程为:((((0+1)+2)+3)+4) ==> 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值