Python中map,filter和apply函数

来源:互联网 发布:三福百货 java开发 编辑:程序博客网 时间:2024/05/22 04:35

map:

map()可以对多个序列的每个元素都执行相同的操作,并组成列表返回,声明如下:

map(func, sequence[, sequence,...]) -> list

1 参数func是自定义的函数,实现对序列每个元素的操作

2 参数sequence为待处理的序列,可以有多个序列

3 map()的返回值是对序列元素处理后的列表

filter:

filter()可以对某个序列做过滤处理,对自定义函数的参数返回的结果是否为“真”来过滤,并一次性返回处理结果。

声明如下:

filter(func or None, sequence) -> list, tuple, or string

1 参数func是自定义的过滤函数,在函数func(item)中定义过滤的规则。如果func为None,则过滤项都为真,返回所有的序列元素。

2 参数sequence为待处理的序列

3 filter()的返回值是由func()的返回值组成的序列,返回的类型与参数sequence的类型相同

4 filter()的过滤函数func()的参数不能为空

filter函数以一个函数和序列作为参数,它返回该序列的子集,其中子集的成员能满足函数的条件

如果filter以None作为第一个参数,它将过滤掉序列中所有假值 

apply

apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位

置传递的参数的元组。如果省略了args,任何参数都不会被传递,kwargs是一个包含关键字参数的字典。

apply()的返回值就是func()的返回值,apply()的元祖参数是有序的,元素的顺序必须和func()形式参数的顺序一