Filter
表达式:
filter(function,sequence)
参数:
function:要执行的函数
Sequence:要过滤的序列
说明:
将sequence中的每一个值传入function作为参数,如果函数返回为true的item组成一个新的List/String/Tuple(取决于sequence类型)
注意:function必须有且只有一个参数(即为传入的序列的item),否则调用filter时报错
例子:
- a=[1,2,3,4,5]
- def odd(num):
- return num%2!=0
- filter(odd,a)
- [1,3,5]
Map
表达式:
map(function,sequence…)
参数:
Function:要执行的函数。该函数参数数量对应着要进行map操作的sequence数量
Sequence:进行映射操作的序列(map函数中的序列数量可为多个,用逗号隔开)
说明:
对sequence中的item依次执行function(item),见执行结果组成一个List返回。
例子:
- def add(num,num2):
- return num+num2
- a=[1,2,3,4,5]
- b=[1,2,3,4,5]
- map(add,a,b)
- [2,4,6,8,10]
Reduce
表达式:
reduce(function,sequence,[value])
参数:
Function:要执行的函数。(必须只能给两个参数,否则报错)
Sequence:进行reduce操作的序列
Value(可选):传入函数初始值
说明:
对sequence中的item顺序迭代调用function,如果有参数value,还可以作为初始值调用。
- def add(x,y): return x + y
- reduce(add, range(1, 11))
- 55 # 1+2+3+4+5+6+7+8+9+10
- reduce(add, range(1, 11), 20)
- 75 # 1+2+3+4+5+6+7+8+9+10+20