成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python中的map()函數(shù)

Hancock_Xu / 1906人閱讀

摘要:例例如文檔中所說,函數(shù)將方法映射到中的每一個元素,即對中的每個元素調(diào)用方法,并返回結(jié)果的。需要注意的是函數(shù)可以多個可迭代參數(shù),前提是方法能夠接收這些參數(shù)。即在每個中,取出下標相同的元素,執(zhí)行。最重要的是,如果不在前加上,函數(shù)根本就不會執(zhí)行

先來看一下官方文檔:

map(function, iterable, ...)

Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all in parallel. If one iterable is shorter than another it is assumed to be extended withNoneitems. If function isNone, the identity function is assumed; if there are multiple arguments, map() returns a list consisting of tuples containing the corresponding items from all iterables (a kind of transpose operation). The iterable arguments may be a sequence or any iterable object; the result is always a list.

1.對可迭代函數(shù)"iterable"中的每一個元素應(yīng)用‘function’方法,將結(jié)果作為list返回。
例:

例1:

>>> def add(x):
...     return x+1
... 
>>> aa = [11,22,33]
>>> map(add,aa)
[12, 23, 34]

如文檔中所說,map函數(shù)將add方法映射到aa中的每一個元素,即對aa中的每個元素調(diào)用add方法,并返回結(jié)果的list。需要注意的是map函數(shù)可以多個可迭代參數(shù),前提是function方法能夠接收這些參數(shù)。否則將報錯。例子如下:
如果給出多個可迭代參數(shù),則對每個可迭代參數(shù)中的元素‘平行’的應(yīng)用‘function’。即在每個list中,取出下標相同的元素,執(zhí)行abc()。

例2:
>>> def abc(a, b, c):
...     return a*10000 + b*100 + c
... 
>>> list1 = [11,22,33]
>>> list2 = [44,55,66]
>>> list3 = [77,88,99]
>>> map(abc,list1,list2,list3)
[114477, 225588, 336699]

>>> a = map(ord,"abcd")
>>> list(a)
[97, 98, 99, 100]
>>> a = map(ord,"abcd","efg") # 傳入兩個可迭代對象,所以傳入的函數(shù)必須能接收2個參數(shù),ord不能接收2個參數(shù),所以報錯
>>> list(a)
Traceback (most recent call last):
  File "", line 1, in 
    list(a)
TypeError: ord() takes exactly one argument (2 given)

>>> def f(a,b):
    return a + b

當傳入多個可迭代對象時,且它們元素長度不一致時,生成的迭代器只到最短長度。

>>> a = map(f,"abcd","efg") # 選取最短長度為3
>>> list(a)
["ae", "bf", "cg"]

2.如果"function"給出的是‘None’,則會自動調(diào)用一個默認函數(shù),請看例子:

例3:
>>> list1 = [11,22,33]
>>> map(None,list1)
[11, 22, 33]
>>> list1 = [11,22,33]
>>> list2 = [44,55,66]
>>> list3 = [77,88,99]
>>> map(None,list1,list2,list3)
[(11, 44, 77), (22, 55, 88), (33, 66, 99)]

3.最后一點需要注意的是,map()在python3和python2中的差異(特別是從py2轉(zhuǎn)到py3的使用者很可能遇到):
在python2中,map會直接返回結(jié)果,例如:
map(lambda x: x, [1,2,3])
可以直接返回
[1,2,3]
但是在python3中, 返回的就是一個map對象:

如果要得到結(jié)果,必須用list作用于這個map對象。
最重要的是,如果不在map前加上list,lambda函數(shù)根本就不會執(zhí)行

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44671.html

相關(guān)文章

  • Python 進階之路 (五) map, filter, reduce, zip 一網(wǎng)打盡

    摘要:另外,這些中的每一個都是純函數(shù),有返回值。例如,如果要計算整數(shù)列表的累積乘,或者求和等等基礎(chǔ)語法參數(shù)是連續(xù)作用于每一個元素的方法,新的參數(shù)為上一次執(zhí)行的結(jié)果,為被過濾的可迭代序列返回值最終的返回結(jié)果在中,是一個內(nèi)置函數(shù)。 簡潔的內(nèi)置函數(shù) 大家好,我又回來了,今天我想和大家分享的是Python非常重要的幾個內(nèi)置函數(shù):map,filter,reduce, zip。它們都是處理序列的便捷函數(shù)...

    ccj659 評論0 收藏0
  • Python進階筆記

    摘要:用匿名函數(shù)有個好處,因為函數(shù)沒有名字,不必擔心函數(shù)名沖突。和不同的是,把傳入的函數(shù)依次作用于每個元素,然后根據(jù)返回值是還是決定保留還是丟棄該元素。字符串給出當前平臺使用的行終止符。程序中間的退出,為正常退出。 列表生成式 函數(shù)的參數(shù)類型 lambda函數(shù) map, reduce, filter, sorted函數(shù) eval, exec, join, zip函數(shù) itertools中的...

    ygyooo 評論0 收藏0
  • Python Map函數(shù)保姆級使用教程

      小編寫這篇文章的一個主要目的,主要是給大家去做一個介紹,介紹的內(nèi)容涉及到Python Map函數(shù)的一些使用方法,還會涉及到一些具體的保姆級的一些相關(guān)使用教程,具體的內(nèi)容,下面就給大家詳細解答下?! ”娝苤覀冊谑褂胮ython的時候,會大大的提高我們的一個工作效率,對我們工作效率的提高有一個本質(zhì)的提升。  那么,本文會給大家統(tǒng)一的做個解答,解答的內(nèi)容還是涉及到相關(guān)的Python Map函數(shù)...

    89542767 評論0 收藏0
  • SICP Python 描述 2.3 序列

    摘要:序列不是特定的抽象數(shù)據(jù)類型,而是不同類型共有的一組行為。不像抽象數(shù)據(jù)類型,我們并沒有闡述如何構(gòu)造序列。這兩個選擇器和一個構(gòu)造器,以及一個常量共同實現(xiàn)了抽象數(shù)據(jù)類型的遞歸列表。 2.3 序列 來源:2.3 Sequences 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 序列是數(shù)據(jù)值的順序容器。不像偶對只有兩個元素,序列可以擁有任意(但是有限)個有序元素。 序列在計算機科學中...

    AlexTuan 評論0 收藏0
  • 功能式Python中的探索性數(shù)據(jù)分析

    摘要:在中運行不同的實驗似乎比試圖在中進行這種探索性的操作更有效。理論上,我們可以在中做很多的探索。我們?nèi)绾卫^續(xù)第一步是獲取格式的原始數(shù)據(jù)。這些列將包含來自使用該代理鍵的一個請求的一行數(shù)據(jù)。這是重構(gòu)的另一部分。數(shù)據(jù)的最終顯示保持完全分離。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實踐干貨哦~ 這里有一些技巧來處理日志文件提取。假設(shè)我們正在查看一些Enterprise Splunk提取。...

    phodal 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<