map
處理序列中的每個(gè)元素,得到一個(gè)列表肤晓,該列表和元素個(gè)數(shù)與元列表一樣
map邏輯實(shí)現(xiàn)
def map_test(func, seq):
res = []
for i in seq:
r = func(i)
res.append(r)
return res
print(map_test(lamabda x:x*2, [1,2]))
[2, 4]
返回內(nèi)存地址爷贫,迭代對(duì)象
print(map(lamabda x:x*2, [1,2]))
In [32]: data = map(lambda x
In [33]: print(list(data))
[1, 4]
In [34]: print(list(data))```
[]
若想持久化則
In [38]: data = list(map(lambda x:x**2, [1,2]))
In [39]: print(data)
[1, 4]
filter
遍歷序列中的每個(gè)元素,判斷每個(gè)元素的布爾值补憾,若為True則留下來
filter邏輯實(shí)現(xiàn)
def filter_test(func, seq):
res = []
for i in req:
if func(i):
res.append(i)
return res
reduce 將所有序列數(shù)值漫萄,合并至一個(gè)值
import functools import reduce
邏輯代碼
def reduce_test(func, seq, init=None]):
if initial == None:
res = seq.pop(0)
else:
res = init
for i in seq:
res = func(res, num)
return res