map() 會(huì)根據(jù)提供的函數(shù)對(duì)指定序列做映射。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),滿城企業(yè)網(wǎng)站建設(shè),滿城品牌網(wǎng)站建設(shè),網(wǎng)站定制,滿城網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,滿城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
第一個(gè)參數(shù) function 以參數(shù)序列中的每一個(gè)元素調(diào)用 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表。 擴(kuò)展資料
map() 函數(shù)語法:
map(function, iterable, ...);
參數(shù):
function -- 函數(shù);
iterable -- 一個(gè)或多個(gè)序列
map函數(shù)的用法如下:
map(func, lst) ,將傳?的函數(shù)變量 func 作?到 lst 變量的每個(gè)元素中,并將結(jié)果組成新的列表 (Python2)/ 迭代器(Python3) 返回。
注意:
map()返回的是一個(gè)迭代器,直接打印map()的結(jié)果是返回的一個(gè)對(duì)象。
map函數(shù)示例代碼:
lst = ['1', '2', '3', '4', '5', '6']
print(lst)
lst_int = map(lambda x: int(x), lst)
# print(list(lst_int))
for i in lst_int:
print(i, end=' ')
print()
print(list(lst_int))
map在python2返回list,在python3返回iterator.
如果想在python3得到可以反復(fù)重用的list,只要把iterator轉(zhuǎn)成list即可:
lst_result?=?list(map(func,?items))
?一個(gè)簡單的例子:將一個(gè)list中所有元素平方,常規(guī)的做法如下圖所示,雖然實(shí)現(xiàn)了這個(gè)功能,但并沒有給人一目了然的感覺。若換成map來實(shí)現(xiàn),則會(huì)好很多。
1、map函數(shù)介紹及其簡單使用
上述用一個(gè)簡單的例子演示的map函數(shù)的用法及其優(yōu)勢,下面將詳細(xì)介紹map函數(shù)的用法:map()函數(shù)接收兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是Iterable,map將傳入的函數(shù)依次作用到序列的每一個(gè)元素,并把結(jié)果作為新的Iterable返回。其語法格式為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? map(function,iterable...)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? function---函數(shù)名
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? iterable---一個(gè)或多個(gè)序列
map作為高階函數(shù),事實(shí)上它把運(yùn)算規(guī)則抽象了,我們可以用這種方式計(jì)算任意復(fù)雜的函數(shù),再比如,把一個(gè)list的所有數(shù)據(jù)轉(zhuǎn)為string類型:
再舉一個(gè)小例子,對(duì)list中的各個(gè)元素開方,一步到位:
!注意:在使用math自帶函數(shù)時(shí),只需要函數(shù)名即可
2、map函數(shù)與lambda函數(shù)結(jié)合使用,下面方法同樣可以達(dá)到對(duì)list中的數(shù)二次方的目的
map函數(shù)與lambda函數(shù)結(jié)合使用,可以傳入兩個(gè)參數(shù)相加:
還可以同時(shí)計(jì)算多個(gè)值: