首頁  >  文章  >  後端開發  >  python3怎麼呼叫map函數

python3怎麼呼叫map函數

藏色散人
藏色散人原創
2019-07-04 11:11:273327瀏覽

python3怎麼呼叫map函數

python3怎麼呼叫map函數?

python3中map函數呼叫語法:

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()它接收一個函數f 和一個可迭代物件(這裡理解成list),並且透過把函數f 依序作用在list 的每個元素上,得到一個新的list 並返回。

例如,對於list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每個元素都作平方,就可以用map()函數:

因此,我們只需要傳入函數f(x)=x*x,就可以利用map()函數完成這個計算:

def f(x):
    return x*x
print(list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))

輸出結果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

配合匿名函數使用:

data = list(range(10))
print(list(map(lambda x: x * x, data)))
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

注意:map()函數不會改變原有的list,而是傳回一個新的list。

利用map()函數,可以把一個 list 轉換成另一個 list,只需要傳入轉換函數。

由於list包含的元素可以是任何類型,因此,map() 不僅僅可以處理只包含數值的list,事實上它可以處理包含任意類型的list,只要傳入的函數f可以處理這種資料類型。

任務

假設使用者輸入的英文名字不規範,沒有依照首字母大寫,後續字母小寫的規則,請利用map()函數,把一個list(包含若干不規範的英文名字)變成一個包含規範英文名字的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))

運行結果:

<map object at 0x000001AD0A334908>
[&#39;Lll&#39;, &#39;Lkk&#39;, &#39;Wxy&#39;]

相關推薦:《Python教程

以上是python3怎麼呼叫map函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn