python高階函數(shù)map()和reduce()實(shí)例解析
1、map()傳入的有兩個(gè)參數(shù),函數(shù)和可迭代對(duì)象(Itreable),map()是把傳入的函數(shù)依次作用于序列的每個(gè)元素,結(jié)果返回的是一個(gè)新的可迭代對(duì)象(Iterable)。
map()代碼如下:
# 定義f函數(shù),返回的是x*xdef f(x): return x*x# 調(diào)用map(),根據(jù)傳入的函數(shù)和list,依次作用于每個(gè)元素s=map(f,[1,2,3,4,5])# 打印返回的迭代器的值print(list(s))# 查看類型print(type(s))
結(jié)果:
[1, 4, 9, 16, 25]<class ’map’>
Process finished with exit code 0
當(dāng)然也可以不用map(),代碼如下:
# 定義一個(gè)列表l=[1,2,3,4,5]#()用于創(chuàng)建一個(gè)list,結(jié)果依次返回列表l的元素的平方,返回lists=[i*i for i in l]# 打印列表sprint(s)# []用于創(chuàng)建一個(gè)生成器,結(jié)果依次返回列表l的元素的平方,返回generators1=(i*i for i in l)# 以列表形式打印generator的元素值print(list(s1))# 查看s1的類型print(type(s1))
結(jié)果:
[1, 4, 9, 16, 25][1, 4, 9, 16, 25]<class ’generator’>
Process finished with exit code 0
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
