学习笔记8-python-lambda&map

来源:互联网 发布:淘宝怎么看卖家网址 编辑:程序博客网 时间:2024/05/28 18:44

Lambda

lambda可以理解为跟def一样的函数,只是它的功能比较简单,def可以用来处理比较复杂的功能。在一些不能使用def的地方,可以用lambda代替。

l=lambda x,y:x+yprint l(1,1)

上面写了一个加法函数,输入两个数,输出它们的和。

lm=lambda x,y=2,z=3:x+y+zprint lm(1)print lm(1,1,1)

lambda还可以指定参数的默认值,比如上面分别输出6和3。

l=[(lambda x:x+1),(lambda x:x**2),(lambda x:x**3)]print l[0](1)print l[1](2)print l[2](2)

还可以定义一个lambda的列表list,比如上面分别输出2,4,8。

map函数

map函数是对一个可迭代(iterable)的容器中每个元素执行function函数

def func(n):    return n+3a=[1,2,3]print map(func,a)

上面的代码返回一个列表[4,5,6],每个元素都加了3
map还可以有多个列表,每个列表的下标对应相同的元素被传入函数func

def func(x,y,z):    return x*100+y*10+za=[1,2,3]b=[4,5,6]c=[7,8,9]print map(func,a,b,c)

上面的代码返回一个列表[147,258,369]。