Python中的apply,filter和map函数
apply函数:
apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位置传递的参数的元组。如果省略了args,任何参数都不会被传递,kwargs是一个包含关键字参数的字典。
apply()的返回值就是func()的返回值,apply()的元祖参数是有序的,元素的顺序必须和func()形式参数的顺序一致
map()可以对多个序列的每个元素都执行相同的操作,并组成列表返回,声明如下:
map(func, sequence[, sequence,...]) -> list
4.1 参数func是自定义的函数,实现对序列每个元素的操作
4.2 参数sequence为待处理的序列,可以有多个序列
4.3 map()的返回值是对序列元素处理后的列表
a = [1, 2, 3, 4, 5]
def foo(x):
return 3 * x
map(foo, a) #[3, 6, 9, 12, 15]
filter()可以对某个序列做过滤处理,对自定义函数的参数返回的结果是否为“真”来过滤,并一次性返回处理结果。
声明如下:
filter(func or None, sequence) -> list, tuple, or string
2.1 参数func是自定义的过滤函数,在函数func(item)中定义过滤的规则。如果func为None,则过滤项都为真,返回所有的序列元素。
2.2 参数sequence为待处理的序列
2.3 filter()的返回值是由func()的返回值组成的序列,返回的类型与参数sequence的类型相同
2.4 filter()的过滤函数func()的参数不能为空
filter函数以一个函数和序列作为参数,它返回该序列的子集,其中子集的成员能满足函数的条件。
如果filter以None作为第一个参数,它将过滤掉序列中所有假值
出处:http://bluescorpio.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。