1 map()函數(shù)的簡介以及語法:
創(chuàng)新互聯(lián)建站專注于謝通門企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城開發(fā)。謝通門網(wǎng)站建設(shè)公司,為謝通門等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
map是python內(nèi)置函數(shù),會根據(jù)提供的函數(shù)對指定的序列做映射。
map()函數(shù)的格式是:
map(function,iterable,...)
第一個參數(shù)接受一個函數(shù)名,后面的參數(shù)接受一個或多個可迭代的序列,返回的是一個集合。
把函數(shù)依次作用在list中的每一個元素上,得到一個新的list并返回。注意,map不改變原list,而是返回一個新list。
2 map()函數(shù)實例:
del square(x):
return x ** 2
map(square,[1,2,3,4,5])? ?---- -要打印結(jié)果需要 print(*map(square,[1,2,3,4,5])),這塊打印了再打印就會為空
# 結(jié)果如下:
[1,4,9,16,25]
通過使用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]
通過lambda函數(shù)使返回值是一個元組:
map(lambdax, y : (x**y,x+y),[2,4,6],[3,2,1])
# 結(jié)果如下
[(8,5),(16,6),(6,7)]
當(dāng)不傳入function時,map()就等同于zip(),將多個列表相同位置的元素歸并到一個元組:
map(None,[2,4,6],[3,2,1])
# 結(jié)果如下
[(2,3),(4,2),(6,1)]
通過map還可以實現(xiàn)類型轉(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é)果放在一個list中:
map(int,{1:2,2:3,3:4})
# 結(jié)果如下
[1,2,3]
原文鏈接:
?一個簡單的例子:將一個list中所有元素平方,常規(guī)的做法如下圖所示,雖然實現(xiàn)了這個功能,但并沒有給人一目了然的感覺。若換成map來實現(xiàn),則會好很多。
1、map函數(shù)介紹及其簡單使用
上述用一個簡單的例子演示的map函數(shù)的用法及其優(yōu)勢,下面將詳細(xì)介紹map函數(shù)的用法:map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是Iterable,map將傳入的函數(shù)依次作用到序列的每一個元素,并把結(jié)果作為新的Iterable返回。其語法格式為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? map(function,iterable...)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? function---函數(shù)名
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? iterable---一個或多個序列
map作為高階函數(shù),事實上它把運(yùn)算規(guī)則抽象了,我們可以用這種方式計算任意復(fù)雜的函數(shù),再比如,把一個list的所有數(shù)據(jù)轉(zhuǎn)為string類型:
再舉一個小例子,對list中的各個元素開方,一步到位:
!注意:在使用math自帶函數(shù)時,只需要函數(shù)名即可
2、map函數(shù)與lambda函數(shù)結(jié)合使用,下面方法同樣可以達(dá)到對list中的數(shù)二次方的目的
map函數(shù)與lambda函數(shù)結(jié)合使用,可以傳入兩個參數(shù)相加:
還可以同時計算多個值:
map() 會根據(jù)提供的函數(shù)對指定序列做映射。
第一個參數(shù) function 以參數(shù)序列中的每一個元素調(diào)用 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表。 擴(kuò)展資料
map() 函數(shù)語法:
map(function, iterable, ...);
參數(shù):
function -- 函數(shù);
iterable -- 一個或多個序列