Python基础之map&reduce&filter

it2022-05-05  164

map

map(function, iterable…) map对列表中的每一个元素都调用function函数进行处理,返回一个新的列表。

d = [1, 2, 3] def func(s): return s*100 print(map(func, d)) print(type(map(func, d))) print(list(map(func, d))) 结果: <map object at ......> <class 'map'> [100, 200, 300]

[注]:map可以处理多个可迭代对象,如果传入的可迭代对象长度不一致,则以最短的为基准处理。

reduce

functools.reduce(function, iterable, [initial_value]) [initial_value]为初始参数,可选

import functools def add(x, y): print("x = %d, y = %d" % (x, y)) return x+y print(functools.reduce(add, [1, 2, 3, 4, 5])) print(functools.reduce(add, [1, 2, 3, 4, 5], 8)) 结果: x = 1, y = 2 x = 3, y = 3 x = 6, y = 4 x = 10, y = 5 15 x = 8, y = 1 x = 9, y = 2 x = 11, y = 3 x = 14, y = 4 x = 18, y = 5 23

filter

filter(function, iterable) 对于iterable中的每一个元素都用function进行判断,返回满足条件的元素列表。

print(list(filter(lambda a: a % 2 == 0, range(20)))) 结果: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

最新回复(0)