成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python-map、reduce、filter、sorted函數(shù)-創(chuàng)新互聯(lián)

map、reduce、filter、sorted函數(shù)

Python內(nèi)置map、reduce、filter、sorted函數(shù)。

成都創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注重慶網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站建設(shè)方案、改版、費(fèi)用等問題,行業(yè)涉及紗窗等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

map函數(shù)

map函數(shù)接受兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是Iterable(迭代對(duì)象),map將傳入的函數(shù)依次作用到序列的每個(gè)元素,并把結(jié)果作為新的Iterator返回

有一個(gè)函數(shù) f(x)=x2,要把這個(gè)函數(shù)作用到一個(gè)list [1,2,3,4]上,用map實(shí)現(xiàn):

Python-map、reduce、filter、sorted函數(shù)

map傳入第一個(gè)參數(shù)是 f 也就是f函數(shù)本身,結(jié)果 k 是一個(gè)Iterator,Iterator是惰性序列,通過 list() 函數(shù)讓他把整個(gè)序列計(jì)算出來并返回一個(gè)list。

上述計(jì)算也可以寫一個(gè)循環(huán)計(jì)算出來:

Python-map、reduce、filter、sorted函數(shù)

用循環(huán)寫出來不簡潔,用 map 函數(shù)一眼就可以看出來。

map函數(shù)還可以計(jì)算任意負(fù)載函數(shù),比如,把這個(gè)list所有字符串轉(zhuǎn)為數(shù)字:

Python-map、reduce、filter、sorted函數(shù)

只需要一行代碼。

reduce函數(shù)

reduce用法是把一個(gè)函數(shù)作用在一個(gè)序列[1,2,3,4,5]上,這個(gè)函數(shù)必須接收兩個(gè)參數(shù),reduce 把結(jié)果繼續(xù)和序列的下一個(gè)元素做累積計(jì)算,效果如下:

Python-map、reduce、filter、sorted函數(shù)

對(duì)一個(gè)序列求積:

Python-map、reduce、filter、sorted函數(shù)

把序列[1, 3, 5, 7, 9]變換成整數(shù)13579:

Python-map、reduce、filter、sorted函數(shù)

結(jié)合map、reduce函數(shù),把字符串'123.456'轉(zhuǎn)換成浮點(diǎn)數(shù)123.456:

Python-map、reduce、filter、sorted函數(shù)

filter()函數(shù)

和map()類似,filter()也接收一個(gè)函數(shù)和一個(gè)序列。和map()不同的是,filter()把傳入的函數(shù)依次作用于每個(gè)元素,然后根據(jù)返回值是True還是False決定保留還是丟棄該元素。

一個(gè)list中,刪掉奇數(shù),只保留偶數(shù):

Python-map、reduce、filter、sorted函數(shù)

(lambda是匿名函數(shù))

filter()函數(shù)返回的是一個(gè)Iterator,也就是一個(gè)惰性序列,所以要強(qiáng)迫filter()完成計(jì)算結(jié)果,需要用list()函數(shù)獲得所有結(jié)果并返回list。

sorted()函數(shù)

sorted()函數(shù)就可以對(duì)list進(jìn)行排序:

Python-map、reduce、filter、sorted函數(shù)

sorted()函數(shù)是一個(gè)高階函數(shù),它還可以接收一個(gè)key函數(shù)來實(shí)現(xiàn)自定義的排序,例如按絕對(duì)值大小排序:

Python-map、reduce、filter、sorted函數(shù)

key指定的函數(shù)將作用于list的每一個(gè)元素上,并根據(jù)key函數(shù)返回的結(jié)果進(jìn)行排序。對(duì)比原始的list和經(jīng)過key=abs處理過的list:

Python-map、reduce、filter、sorted函數(shù)

然后sorted()函數(shù)按照keys進(jìn)行排序,并按照對(duì)應(yīng)關(guān)系返回list相應(yīng)的元素:

Python-map、reduce、filter、sorted函數(shù)

字符串排序的例子:

Python-map、reduce、filter、sorted函數(shù)

默認(rèn)情況下,對(duì)字符串排序,是按照ASCII的大小比較的,由于'Z' < 'a',結(jié)果,大寫字母Z會(huì)排在小寫字母a的前面。

排序應(yīng)該忽略大小寫,按照字母序排序。要實(shí)現(xiàn)這個(gè)算法,不必對(duì)現(xiàn)有代碼大加改動(dòng),只要我們能用一個(gè)key函數(shù)把字符串映射為忽略大小寫排序即可。忽略大小寫來比較兩個(gè)字符串,實(shí)際上就是先把字符串都變成大寫(或者都變成小寫),再比較。

給sorted傳入key函數(shù),即可實(shí)現(xiàn)忽略大小寫的排序:

Python-map、reduce、filter、sorted函數(shù)

進(jìn)行反向排序,不必改動(dòng)key函數(shù),可以傳入第三個(gè)參數(shù)reverse=True:

Python-map、reduce、filter、sorted函數(shù)

用sorted()排序的關(guān)鍵在于實(shí)現(xiàn)一個(gè)映射函數(shù)。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前名稱:Python-map、reduce、filter、sorted函數(shù)-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article14/egige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃品牌網(wǎng)站設(shè)計(jì)、服務(wù)器托管、外貿(mào)建站、App開發(fā)、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
湘乡市| 定州市| 兴仁县| 英超| 富阳市| 永德县| 武清区| 华蓥市| 凤翔县| 平罗县| 红桥区| 航空| 平罗县| 六枝特区| 崇信县| 弥渡县| 玉林市| 本溪市| 应用必备| 鄂伦春自治旗| 沅江市| 昆山市| 玛纳斯县| 晋宁县| 大渡口区| 隆安县| 望奎县| 嘉峪关市| 揭阳市| 巴林右旗| 岑巩县| 苏尼特左旗| 那坡县| 扶风县| 合水县| 光山县| 合阳县| 盈江县| 沾益县| 丹寨县| 长丰县|