【Python】python map()函式和lambda表示式

小亮520cl發表於2019-01-30

python map(fun,[arg]+)函式最少有兩個引數,第一引數為一個函式名,第二個引數是對應的這個函式的引數(一般為一個或多個list)

>>>def fun(x):
...     return x+1
...
>>>list(map(fun,[1,2,3]))
>>>[2,3,4]


多引數例子:

>>>def fun(x,y,z):
...     return x*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(lambda x: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(lambda x,y,z:x*y*z ,s,s,s))
>>>[1,8,27]


如上。

https://blog.csdn.net/u013944212/article/details/55095687

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2565251/,如需轉載,請註明出處,否則將追究法律責任。

相關文章