1. 程式人生 > 程式設計 >python高階函式map()和reduce()例項解析

python高階函式map()和reduce()例項解析

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。