-
map(func, *iterables)
对iterables
中的每个元素使用func
,当最短的iterable
结束时便停止。map
可传入多个iterable
。
>>>a=list(range(5))
>>>b=list(range(10))
>>>def func(x):
return x//2
>>>c=list(map(func,a))
>>>print(c)
[0, 0, 1, 1, 2]
>>>d=list(map(lambda x: x//2, a)) #使用匿名函数lambda来取代
>>>print(d)
[0, 0, 1, 1, 2]
-
reduce(func, iterables)
对iterable
中的元素顺序迭代调用。
>>> from functools import reduce #reduce 非内置函数,需先import
>>>a=list(range(5))
>>>def func(x,y):
return x+y
>>>c=reduce(func, a)
>>>print(c)
10
>>>d=reduce(lambdax, y: x+y, a)
>>>print(d)
10
-
filter(function or None, iterable)
对iterable
的每一个元素执行函数function()
并返回函数的执行结果。
>>>a=list(range(5))
>>>def func(x):
return x>2
>>>c=list(filter(func, a))
>>>print(c)
[3, 4]
>>>d=list(filter(lambda x: x>2, a))
>>>print(d)
[3, 4]