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> ['Lll', 'Lkk', 'Wxy']
相關推薦:《Python教程》
以上是python3怎麼呼叫map函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!