python map(fun,[arg]+)函數(shù)最少有兩個參數(shù),第一參數(shù)為一個函數(shù)名,第二個參數(shù)是對應(yīng)的這個函數(shù)的參數(shù)(一般為一個或多個list)
>>>def fun(x): ... return x+1 ... >>>list(map(fun,[1,2,3])) >>>[2,3,4]
多參數(shù)例子:
>>>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函數(shù)返回的是iterators,無法像python2.x 直接返回一個list,故需要再加上一個list()將iterators轉(zhuǎn)化為一個list)。
lambda表達式:有人說類似于一種匿名函數(shù),通常是在需要一個函數(shù),但是又不想費神去命名一個函數(shù)的場合下使用。
>>>s = [1,2,3] >>>list(map(lambda x:x+1,s)) >>>[2,3,4]
這里的 lambda x:x+1 相當(dāng)于 上面的fun()函數(shù), lambda和(冒號): 之間相當(dāng)于 fun()函數(shù)的參數(shù), :(冒號)之后 x+1 相當(dāng)于fun()函數(shù)的return x+1
>>>s = [1,2,3] >>>list(map(lambda x,y,z:x*y*z ,s,s,s)) >>>[1,8,27]
如上。
/tupian/20230522/55095687