map 函式和reduce 函式

2021-09-11 15:54:30 字數 684 閱讀 6142

map()函式:也稱對映物件函式,接受兩個引數,第乙個是函式,第二個是序列。map()將傳入的函式依次作用到序列的每個元素並把結果作為list返回。

map返回的結果是乙個可迭代的map物件,可以使用 _ _ next _ _獲取值,也可使用for迴圈迭代獲取或者直接轉換為list獲取更加暴力。

def demo(x):

return x + 2

cc = map(demo, [1, 3, 5, 7, 9])

print(type(cc))

print(cc.__next__())

print(list(cc))

print(list(cc))

執行結果:

# map返回的結果是乙個map物件(是可迭代的)

3 # 注意結果,此處取了第一位值,map物件中就沒有了

[5, 7, 9, 11] # 再使用list獲取就是取後剩下的部分

# 原理同上

from functools import reduce  # 不是內建函式,故需要要匯入

r = reduce(lambda x, y: x + y, range(1, 101))

print(r)

# 執行結果:

5050 # 這個數值的結果都很熟悉吧!

map 函式和 reduce 函式

從引數方面來講 map 包含兩個引數,第乙個引數是乙個函式,第二個是序列 列表 或元組 其中,函式 即 map 的第乙個引數位置的函式 可以接收乙個或多個引數。reduce 第乙個引數是函式,第二個是序列 列表或元組 但是,其函式必須接收兩個引數。從對傳進去的數值作用來講 map 是將傳入的函式依次...

map函式和reduce函式

map 函式接收兩個引數,乙個是函式,乙個是iterable,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的iterator返回。def f x return x x r map f,1,2,3,4,5,6,7,8,9 list r 1,4,9,16,25,36,49,64,81 ma...

map和reduce函式簡介

map函式會根據提供的函式對指定序列做對映。其語法為 map function,iterable 也就是對iterable中的每乙個元素進行function的運算,並返回乙個迭代器。我們想要實現這樣乙個目的 判斷乙個數是奇數還是偶數,並返回乙個列表,列表中包含判斷結果。首先我們定義乙個函式用於判斷並...