亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python中的高階函數(shù)filter、map、reduce

系統(tǒng) 1776 0

1.filter()函數(shù)

filter() ?函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象,如果要轉(zhuǎn)換為列表,可以使用? list() ?來轉(zhuǎn)換。

該函數(shù)接收兩個參數(shù),第一個為函數(shù),第二個為序列,序列的每個元素作為參數(shù)傳遞給函數(shù)進行判斷,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。

filter(function, iterable)

function -- 判斷函數(shù)。

iterable -- 可迭代對象。

返回一個可迭代的的對象。

比如:

判斷一個列表字符串中,是否包含數(shù)字,然后取出數(shù)字。

s=['12jk','29','322','gfhkd','283','90']
def list1(n):
if n.isdigit():
return n
h=filter(list1,s)
print(list(h))

結(jié)果:['29', '322', '283', '90']

2.map()函數(shù)

map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是序列,map 將傳入的函數(shù)依次作用到序列的每個元素,并把結(jié)果作為新的list返回。

比如:

將某個列表數(shù)字中,每個數(shù)字都進行加1,然后輸出新的列表。

s=[2,4,6,8,10]
def square(n):
return n+1
h=map(square,s)
z=list(h)
print(z)

3.reduce()函數(shù)

reduce()函數(shù)接收的參數(shù)和 map()類似,一個函數(shù) f,一個list,但行為和 map()不同,reduce()傳入的函數(shù) f 必須接收兩個參數(shù),reduce()對list的每個元素反復(fù)調(diào)用函數(shù)f,并返回最終結(jié)果值。

比如:編寫一個f函數(shù),接收x和y,返回x和y的和:

def f(x, y):
return x + y
調(diào)用 reduce(f, [1, 3, 5, 7, 9])時,reduce函數(shù)將做如下計算:

先計算頭兩個元素:f(1, 3),結(jié)果為4;
再把結(jié)果和第3個元素計算:f(4, 5),結(jié)果為9;
再把結(jié)果和第4個元素計算:f(9, 7),結(jié)果為16;
再把結(jié)果和第5個元素計算:f(16, 9),結(jié)果為25;
由于沒有更多的元素了,計算結(jié)束,返回結(jié)果25。
上述計算實際上是對 list 的所有元素求和。雖然Python內(nèi)置了求和函數(shù)sum(),但是,利用reduce()求和也很簡單。

reduce()還可以接收第3個可選參數(shù),作為計算的初始值。如果把初始值設(shè)為100,計算:

reduce(f, [1, 3, 5, 7, 9], 100)
結(jié)果將變?yōu)?25,因為第一輪計算是:

計算初始值和第一個元素:f(100, 1),結(jié)果為101。

任務(wù)
Python內(nèi)置了求和函數(shù)sum(),但沒有求積的函數(shù),請利用recude()來求積:

輸入:[2, 4, 5, 7, 12]
輸出:2*4*5*7*12的結(jié)果


def prod(x, y):
return x*y

print reduce(prod, [2, 4, 5, 7, 12])

PS:以上內(nèi)容和實例,摘自網(wǎng)上,如有雷同,請聯(lián)系我刪除。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色偷偷91久久综合噜噜噜 | 欧美色精品天天在线观看视频 | 一区二区三区四区国产 | 91精品国产免费网站 | 久草91| 亚洲国产成人久久一区二区三区 | 亚洲一区二区中文字5566 | 九九综合九九综合 | 久久婷五月综合 | 香蕉久久一区二区三区 | 成人a视频高清在线观看 | 羞羞在线视频 | 精品国产综合区久久久久99 | 91这里只有精品 | 久久久久久久免费 | 春色www在线视频观看 | 四虎影视国产精品永久在线 | 国产精品青草久久 | 亚洲免费视频一区 | 这里只有精品视频 | 四虎在线永久免费视频网站 | 老妇色 | 老司机观看精品一区二区 | 在线播放福利 | 欧美日韩高清观看一区二区 | 豆国产93在线 | 亚洲 | 一级片亚洲 | 18禁片一级毛片视频播放免费看 | 日韩专区亚洲国产精品 | 欧美色综合久久 | 国产视频在线播放 | 国产五月天在线 | 免费一看一级毛片 | 国产剧情一区二区 | 免费一级成人毛片 | 日本一级毛片片在线播放 | 久久大香伊蕉在人线国产昨爱 | 精品哟哟国产在线观看 | 手机在线中文字幕 | 国产一区二区精品久久 | 日本高中生一级乇片 |