python map函數用法詳解


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

  不多說,直接上代碼,一看就明白了。

 

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的)。具體用法如下:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM