python高階函式map()和reduce()例項解析
阿新 • • 發佈:2020-03-17
1、map()傳入的有兩個引數,函式和可迭代物件(Itreable),map()是把傳入的函式依次作用於序列的每個元素,結果返回的是一個新的可迭代物件(Iterable)。
map()程式碼如下:
# 定義f函式,返回的是x*x def f(x): return x*x # 呼叫map(),根據傳入的函式和list,依次作用於每個元素 s=map(f,[1,2,3,4,5]) # 列印返回的迭代器的值 print(list(s)) # 檢視型別 print(type(s))
結果:
[1,9,16,25]
<class 'map'>Process finished with exit code 0
當然也可以不用map(),程式碼如下:
# 定義一個列表 l=[1,5] #()用於建立一個list,結果依次返回列表l的元素的平方,返回list s=[i*i for i in l] # 列印列表s print(s) # []用於建立一個生成器,結果依次返回列表l的元素的平方,返回generator s1=(i*i for i in l) # 以列表形式列印generator的元素值 print(list(s1)) # 檢視s1的型別 print(type(s1))
結果:
[1,25]
[1,25]
<class 'generator'>Process finished with exit code 0
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。