前言:
目前朋友们对“python apply 两个参数”可能比较注重,你们都想要了解一些“python apply 两个参数”的相关内容。那么小编在网上搜集了一些有关“python apply 两个参数””的相关资讯,希望朋友们能喜欢,大家一起来了解一下吧!前言
模块有一些内置属性,用于完成特定的任务,如__name__、__doc__。每个模块都有一个名称,例如,__name__用于判断当前模块是否是程序的入口,如果当前程序正在被使用,__name__的值为“__main__”。
Python提供了一个内联模块buildin。内联模块定义了一些开发中经常使用的函数,利用这些函数可以实现数据类型的转换、数据的计算、序列的处理等功能。
内置函数实例演示
下面将介绍内联模块中常用的函数。
1.apply()
Python3中移除了apply函数,所以不再可用了。调用可变参数列表的函数的功能只能使用在列表添加*来实现。
2.filter()
filter()可以对某个序列做过滤处理,判断自定义函数的参数返回的结果是否为真来过滤,并一次性返回处理结果。filter()的声明如下所示。
class filter(object)
filter(function or None, iterable) --> filter object
下面这段代码演示了filter()过滤序列的功能。从给定的列表中过滤出大于0的数字。
def func(x):
if x > 0:
return x
print(filter(func, range(-9, 10)))#调用filter函数,返回的是filter对象
print(list(filter(func, range(-9, 10)))) #将filter对象转换为列表
输出结果:
<filter object at 0x1028d9400>
[1, 2, 3, 4, 5, 6, 7, 8, 9]
注意:filter()中过滤函数func()的参数不能为空。否则,没有可以存储sequence元素的变量,func()也不能处理过滤
3.reduce()
对序列中元素的连续操作可以通过循环来处理。例如,对某个序列中的元素累加操作。Python提供的reduce()也可以实现连续处理的功能。在Python2中reduce()存在于全局空间中,可以直接调用。而在Python3中将其移到了functools模块中,所以使用之前需要先引入。reduce()的声明如下所示。
reduce(func, sequence[, initial]) -> value
参数func是自定义的函数,在函数func()中实现对参数sequence的连续操作。
参数sequence待处理的序列。
参数initial可以省略,如果initial不为空,则initial的值将首先传入func()进行计算。如果sequence为空,则对initial的值进行处理。
reduce()的返回值是func()计算后的结果。
下面这段代码实现了对一个列表的数字进行累加的操作。
def sum(x, y):
return x+y
from functools import reduce
print(reduce(sum, range(0, 10)))
print(reduce(sum, range(0, 10), 10))
print(reduce(sum, range(0, 0), 10))
注意:如果用reduce()进行累计计算,必须在sum中定义两个参数,分别对应加法运算符两侧的操作数。
运行结果为:
45
55
10
4.map()
map()的功能非常强大,可以对多个序列的每个元素都执行相同的操作,并返回一个map对象。
map()的声明如下所示。
class map(object)
map(func, *iterables) --> map object
参数func是自定义的函数,实现对序列每个元素的操作。
参数iterables是待处理的序列,参数iterables的个数可以是多个。
map()的返回值是对序列元素处理后的列表。
下面这段代码实现了列表中数字的幂运算。
def power(x):
return x ** x
print('>>>>>>>打印map对象:')
print(map(power, range(1, 5)))
print(">>>>>>>转换为列表输出:")
print(list(map(power, range(1, 5))))
def power2(x, y):
return x ** y
print('>>>>>>>打印map对象:')
print(map(power2, range(1, 5), range(5, 1, -1)))
print(">>>>>>>转换为列表输出:")
print(list(map(power2, range(1, 5), range(5, 1, -1))))
运行结果为:
>>>>>>>打印map对象:
<map object at 0x10225f400>
>>>>>>>转换为列表输出:
[1, 4, 27, 256]
>>>>>>>打印map对象:
<map object at 0x10225f3c8>
>>>>>>>转换为列表输出:
[1, 16, 27, 16]
其他常用内置函数:
标签: #python apply 两个参数