溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python3調(diào)用map函數(shù)的方法

發(fā)布時間:2020-09-23 09:39:18 來源:億速云 閱讀:263 作者:小新 欄目:編程語言

這篇文章主要介紹了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í)!

向AI問一下細(xì)節(jié)

免責(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)容。

AI