【python】python的内置函数apply()filter() reduce()map()
来源:互联网 发布:linux cpu使用率版本 编辑:程序博客网 时间:2024/06/04 23:26
转载:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=22920230&id=3023915
python提供了内联模块buidin,该模块定义了一些软件开发中常用的函数,这些函数实现了数据类型的转换, 数据的计算, 序列的处理等功能。 下面介绍内联模块中常用的四个内联函数。
(1)python的内置函数
功能: apply()是实现调用可变参数列表的函数,把参数列表存放在一个元组或者列表中.
声明格式:
apply(func, [argc[, kwargs]])
说明:
(1)func是自定义的函数名称。
(2)参数argc是一个自定义的函数参数的列表或者元组,若argc被省略则表示被执行的函数没有任何参数
(3)参数kwargs是一个字典,字典的key值是参数的参数名称,value是实际的参数值。
(4)apply的返回值就是func的返回值
应用举例:
#定义了sun,并定义了形式参数
def sum(x=1, y=2):
return x + y
#通过调用sum输出为4
print apply(sum, (1, 3))
(2)filter()
功能:filter()可以对某个序列做过滤处理,对自定义的函数返回的结果是否为”真“,来过滤,并一次性返回处理结果。
声明格式:
filter(func or None, sequence) -->list, tuple, or string
说明:
(1)参func数是自定义的过滤函数,在函数func中定义过滤的规则。如果func为None,则表示过滤项全部为真,返回所有的序列元素。
(2)参数sequence为待处理的序列。
(3)filter()返回的是由func()的返回值组成的序列,返回的类型和参数sequence的类型相同。
应用举例:
演示filter()的过滤功能,从给定的列表中过滤出大于零的数。
def func(x):
if x > 0:
return x
print filter(func, range(-9, 10))
注意:filter()中过滤函数func的参数不能为空,否则, 没有可以存储sequence元素的变量,func()也不能处理过滤。
(3)reduce()
功能:对序列中元素的连续操作可以通过循环来实现,reduce也可以实现连续处理的功能。
声明格式:
reduce(func, sequence[, initial])--> value
说明:
(1)参数func是自定义的函数,在函数func中实现对sequence的连续操作。
(2)参数sequence为待处理的序列。
(3)参数initial可以省略,如果initial不为空,则initial的值首先传入func进行计算,如果initial的值为空,则对initial的值进行处理。
(4)reduce的返回值是func的返回值。
应用举例:实现对一个列表中数字进行累加的操作。
def sum(x, y):
return x + y
#对0+1+2+...+9进行计算,输出结果: 45
print reduce(sum, range(0, 10))
#对10 +0+1+2+3+...+9进行计算, 输出结果:55
print reduce(sum, range(0, 10), 10)
注意:如果对reduce()进行累计计算,必须在sum中定义两个参数,分别对应加法运算两侧的操作数。
(4)map()
功能:map()的功能非常强大,可以对每个序列的每个元素执行相同的操作,并组程序列表返回。
声明格式:
map(func, sequence[, sequence]) --> list
说明:
(1)参数func是自定义的函数,实现对序列每个元素的操作
(2)参数sequence为待处理的函数,参数sequence的个数可以是多个
(3)map的返回值是处理后的列表
应用举例:
#实现参数x 的幂运算
def power(x):
return x ** x
#把1,2, 3, 4依次传入power中,计算结果组成一个列表返回,输出结果:[1, 4, 27, 256]
print map(power range(1, 5))
def power2(x, y):
return x ** y
#计算1^4, 2^4, 3^3, 4^2计算后的结果返回一个列表,输出结果:[1, 16, 27,16]
print map(power2, range(1, 5), range(5, 1, -1))
注意:如果map中提供多个序列,则每个元素意义对应进行计算,若每个序列对应的长度不同,则短的序列后补充”None“,再进行计算。
0 0
- 【python】python的内置函数apply()filter() reduce()map()
- (转)Python中的map,reduce,filter,lambda内置函数
- Python常用内置函数介绍【filter,map,reduce,apply,zip】
- Python常用内置函数介绍【filter,map,reduce,apply,zip】
- Python常用内置函数介绍【filter,map,reduce,apply,zip】
- Python常用内置函数介绍【filter,map,reduce,apply,zip】
- python 的几个内置函数(lambda ,zip, filter, map, reduce )用法
- python 的几个内置函数(lambda ,zip, filter, map, reduce )用法
- python的几个内建函数:apply(),filter(),map(),reduce()
- python的几个内建函数:apply(),filter(),map(),reduce()
- python的几个内建函数:apply(),filter(),map(),reduce(
- python的几个内建函数:apply,filter,map,reduce
- python的几个内建函数:apply(),filter(),map(),reduce()
- python的filter,map,zip,reduce,apply
- python内置函数map/reduce/filter
- python内置函数map/reduce/filter
- python map ,reduce filter内置函数使用说明
- python 内置函数map/filter/reduce
- 轮子----文本框内容不是唯一返回
- 换不开的硬币问题
- uri、url、refer
- 学习angular ui-router - 管理状态
- CopyOnWriteArrayList (一)
- 【python】python的内置函数apply()filter() reduce()map()
- RHadoop的技术性文章
- iOS开发之数组、字典、集合
- 内核编译图文教程,usb键盘鼠标篇
- /etc/profile和 . profile 文件
- Xcode 6.1 做ipa企业级分发(In-House模式)详细步骤
- 指针函数 、函数指针 、 回调函数
- 自定义ActionBar盘点---------GlassActionBar
- 0xc0000008 invalid handle 错误原因纪实