【Python】python map()函数和lambda表达式
python map(fun,[arg]+)函数最少有两个参数,第一参数为一个函数名,第二个参数是对应的这个函数的参数(一般为一个或多个list)
>>>deffun(x):...returnx+1...>>>list(map(fun,[1,2,3]))>>>[2,3,4]
多参数例子:
>>>deffun(x,y,z):...returnx*y*z...>>>list(map(fun,[1,2,3],[1,2,3],[1,2,3]))>>>[1,8,27]
(python 3.x 中map函数返回的是iterators,无法像python2.x 直接返回一个list,故需要再加上一个list()将iterators转化为一个list)。
lambda表达式:有人说类似于一种匿名函数,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用。
>>>s=[1,2,3]>>>list(map(lambdax:x+1,s))>>>[2,3,4]
这里的 lambda x:x+1 相当于 上面的fun()函数, lambda和(冒号): 之间相当于 fun()函数的参数, :(冒号)之后 x+1 相当于fun()函数的return x+1
>>>s=[1,2,3]>>>list(map(lambdax,y,z:x*y*z,s,s,s))>>>[1,8,27]
如上。
https://blog.csdn.net/u013944212/article/details/55095687
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。