python3怎麼呼叫map函數

藏色散人
發布: 2019-07-04 11:11:27
原創
3322 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!