python map函數用法詳解

  python中的map()函數是一個內置的高階函數,通常用法是map(function, iterable)。須要傳入一個函數,這個函數能夠是內置的,也能夠是本身定義,也能夠是匿名函數。第二個參數是一個可迭代對象,如列表,字符串等等。返回的是一個map對象,注意不是列表不能直接輸出,能夠經過for循環或者list()來顯示。(python2返回的是列表)python

  很少說,直接上代碼,一看就明白了。app

 

def square(x): return x*x a=map(square,[1,2,3]) print(a) #輸出爲<map object at 0x0033CFB0> 能夠看出map返回的其實是一個map對象
print(list(a)) #輸出爲[1, 4, 9] 經過list()方式 顯示出來 

#也能夠經過for循環來取出內容
ls=[]
for i in a:
ls.append(i)
print(ls)
#輸出爲[1, 4, 9]

 其實map,不止能傳入一個可迭代對象作爲參數。也能夠傳入兩個。看例子就能夠體會到這用法函數

ls1='ABC' ls2='abc'
print(list(map(lambda x,y:x+y,ls1,ls2))) #['Aa', 'Bb', 'Cc']

如果傳入的多個可迭代對象長度不相同,則按最短的長度進行處理(這是針對python3的)。具體用法以下:spa

ls1='ABC' ls2='ab'
print(list(map(lambda x,y:x+y,ls1,ls2))) #['Aa', 'Bb']
相關文章
相關標籤/搜索