map函數(shù)的用法如下:
目前創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、吉林網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
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))
?一個(gè)簡(jiǎn)單的例子:將一個(gè)list中所有元素平方,常規(guī)的做法如下圖所示,雖然實(shí)現(xiàn)了這個(gè)功能,但并沒(méi)有給人一目了然的感覺(jué)。若換成map來(lái)實(shí)現(xiàn),則會(huì)好很多。
1、map函數(shù)介紹及其簡(jiǎn)單使用
上述用一個(gè)簡(jiǎn)單的例子演示的map函數(shù)的用法及其優(yōu)勢(shì),下面將詳細(xì)介紹map函數(shù)的用法:map()函數(shù)接收兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是Iterable,map將傳入的函數(shù)依次作用到序列的每一個(gè)元素,并把結(jié)果作為新的Iterable返回。其語(yǔ)法格式為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? map(function,iterable...)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? function---函數(shù)名
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? iterable---一個(gè)或多個(gè)序列
map作為高階函數(shù),事實(shí)上它把運(yùn)算規(guī)則抽象了,我們可以用這種方式計(jì)算任意復(fù)雜的函數(shù),再比如,把一個(gè)list的所有數(shù)據(jù)轉(zhuǎn)為string類(lèi)型:
再舉一個(gè)小例子,對(duì)list中的各個(gè)元素開(kāi)方,一步到位:
!注意:在使用math自帶函數(shù)時(shí),只需要函數(shù)名即可
2、map函數(shù)與lambda函數(shù)結(jié)合使用,下面方法同樣可以達(dá)到對(duì)list中的數(shù)二次方的目的
map函數(shù)與lambda函數(shù)結(jié)合使用,可以傳入兩個(gè)參數(shù)相加:
還可以同時(shí)計(jì)算多個(gè)值:
1 map()函數(shù)的簡(jiǎn)介以及語(yǔ)法:
map是python內(nèi)置函數(shù),會(huì)根據(jù)提供的函數(shù)對(duì)指定的序列做映射。
map()函數(shù)的格式是:
map(function,iterable,...)
第一個(gè)參數(shù)接受一個(gè)函數(shù)名,后面的參數(shù)接受一個(gè)或多個(gè)可迭代的序列,返回的是一個(gè)集合。
把函數(shù)依次作用在list中的每一個(gè)元素上,得到一個(gè)新的list并返回。注意,map不改變?cè)璴ist,而是返回一個(gè)新list。
2 map()函數(shù)實(shí)例:
del square(x):
return x ** 2
map(square,[1,2,3,4,5])? ?---- -要打印結(jié)果需要 print(*map(square,[1,2,3,4,5])),這塊打印了再打印就會(huì)為空
# 結(jié)果如下:
[1,4,9,16,25]
通過(guò)使用lambda匿名函數(shù)的方法使用map()函數(shù):
map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])
# 結(jié)果如下:
[3,7,11,15,19]
通過(guò)lambda函數(shù)使返回值是一個(gè)元組:
map(lambdax, y : (x**y,x+y),[2,4,6],[3,2,1])
# 結(jié)果如下
[(8,5),(16,6),(6,7)]
當(dāng)不傳入function時(shí),map()就等同于zip(),將多個(gè)列表相同位置的元素歸并到一個(gè)元組:
map(None,[2,4,6],[3,2,1])
# 結(jié)果如下
[(2,3),(4,2),(6,1)]
通過(guò)map還可以實(shí)現(xiàn)類(lèi)型轉(zhuǎn)換
將元組轉(zhuǎn)換為list:
map(int,(1,2,3))
# 結(jié)果如下:
[1,2,3]
將字符串轉(zhuǎn)換為list:
map(int,'1234')
# 結(jié)果如下:
[1,2,3,4]
提取字典中的key,并將結(jié)果放在一個(gè)list中:
map(int,{1:2,2:3,3:4})
# 結(jié)果如下
[1,2,3]
原文鏈接:
名稱(chēng)欄目:map函數(shù)python map函數(shù)python怎么用
本文URL:http://m.rwnh.cn/article34/doopsse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、外貿(mào)建站、微信小程序、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站排名、網(wǎng)站營(yíng)銷(xiāo)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)