這篇文章給大家介紹python中的map函數(shù)如何理解,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)原州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
今天,介紹一個(gè)Python中非常好用的內(nèi)置函數(shù),它書寫簡(jiǎn)便,卻能實(shí)現(xiàn)看起來復(fù)雜的功能。
它就是map函數(shù)。
map函數(shù)的原型是map(function, iterable, …),它的返回結(jié)果是一個(gè)map對(duì)象。
參數(shù)function傳的是一個(gè)函數(shù)名,可以是python內(nèi)置的,也可以是自定義的。 參數(shù)iterable傳的是一個(gè)可以迭代的對(duì)象,例如列表,元組,字符串這樣的。
這個(gè)函數(shù)的意思就是將function應(yīng)用于iterable的每一個(gè)元素,結(jié)果以map的形式返回。
注意觀察,iterable后面還有省略號(hào),意思可以傳很多個(gè)iterable,如果有額外的iterable參數(shù),并行的從這些參數(shù)中取元素,并調(diào)用function。
下面舉例說明map的用法。
內(nèi)置函數(shù)
str()是python的內(nèi)置函數(shù),這個(gè)例子是把列表/元組/字符串的每個(gè)元素變成了str類型:
a=list(map(str,'python'))
print(a)
['p','y','t','h','o','n']
自定義函數(shù)
通常使用lambda匿名函數(shù),這樣寫起來簡(jiǎn)便。
# 使用 lambda 匿名函數(shù)
list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))
[1, 4, 9, 16, 25]
多個(gè)iterable實(shí)例
例子如下:
map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
注意兩個(gè)細(xì)節(jié):
lambda中的參數(shù)個(gè)數(shù)等于iterable實(shí)例的個(gè)數(shù);
每個(gè)iterable內(nèi)的元素個(gè)數(shù)不必相等,返回元素個(gè)數(shù)等于最短的iterable對(duì)應(yīng)的長度。
關(guān)于python中的map函數(shù)如何理解就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。