您好,登錄后才能下訂單哦!
這篇文章主要介紹了python3調(diào)用map函數(shù)的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
python3怎么調(diào)用map函數(shù)?
python3中map函數(shù)調(diào)用語法:
map(function, iterable, ...)
python源碼解釋如下:
map(func, *iterables) --> map object Make an iterator that computes the function using arguments from each of the iterables. Stops when the shortest iterable is exhausted.
簡單來說,
map()它接收一個函數(shù) f 和一個 可迭代對象(這里理解成 list),并通過把函數(shù) f 依次作用在 list 的每個元素上,得到一個新的 list 并返回。
例如,對于list [1, 2, 3, 4, 5, 6, 7, 8, 9]
如果希望把list的每個元素都作平方,就可以用map()函數(shù):
因此,我們只需要傳入函數(shù)f(x)=x*x,就可以利用map()函數(shù)完成這個計(jì)算:
def f(x): return x*x print(list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))
輸出結(jié)果:
[1, 4, 9, 10, 25, 36, 49, 64, 81]
配合匿名函數(shù)使用:
data = list(range(10)) print(list(map(lambda x: x * x, data))) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
注意:map()函數(shù)不改變原有的 list,而是返回一個新的 list。
利用map()函數(shù),可以把一個 list 轉(zhuǎn)換為另一個 list,只需要傳入轉(zhuǎn)換函數(shù)。
由于list包含的元素可以是任何類型,因此,map() 不僅僅可以處理只包含數(shù)值的 list,事實(shí)上它可以處理包含任意類型的 list,只要傳入的函數(shù)f可以處理這種數(shù)據(jù)類型。
任務(wù)
假設(shè)用戶輸入的英文名字不規(guī)范,沒有按照首字母大寫,后續(xù)字母小寫的規(guī)則,請利用map()函數(shù),把一個list(包含若干不規(guī)范的英文名字)變成一個包含規(guī)范英文名字的list:
def f(s): return s[0:1].upper() + s[1:].lower() list_ = ['lll', 'lKK', 'wXy'] a = map(f, list_) print(a) print(list(a))
運(yùn)行結(jié)果:
<map object at 0x000001AD0A334908> ['Lll', 'Lkk', 'Wxy']
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python3調(diào)用map函數(shù)的方法內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。