提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文主要介绍Python几个高级函数的用法,主要是map()、reduce()、filter()
一、map()函数
map函数包含两个参数,一个是传入的方法,一个是一个可迭代的对象,日常中一般用于对于一个迭代对象中的值做一些处理时,可以使用map函数来操作。map返回的是一个map对象,可通过循环来获取值
示例如下:
#使用map函数计算列表每个值乘以2后的结果
def test(x):
return x *2
result = map(test,[1,2,3,4])
for i in result:
print(i)
#使用map函数将列表每个值转换成str类型
result = map(str,[1,2,3,4])
二、filter()函数
filter函数包含两个参数,一个是传入的方法,一个是一个可迭代的对象,用于处理数据根据条件进行过滤。filter返回的是filter的对象,可通过循环获取值
示例如下:
#使用filter函数,处理一个列表中整除2等于1
def test(x):
return x //2 ==1
result = filter(test,[2,4,6,8,10])
for i in result:
print(i)
三、reduce()函数
reduce函数使用需要通过导入from functools import reduce
才能够正常使用reduce()函数可用于计算一个可迭代对象中的结果集进行使用,与filter和map不同的是,它是一个函数中需要传入两个值和一个可迭代对象,reduce会将结果继续和迭代对象中下一个环境进行处理,且reduce是直接返回处理结果数据。
示例如下:
from functools import reduce
def test(x,y):
return x*y
result = reduce(test,[1,2,3,4,5,6,7])
总结
python这些高阶函数在日常编码过程中还是比较便捷的,可以根据不同场景使用不同的函数可以使代码看着更简洁,其中test()函数可通过lambda函数进行替换后续在继续介绍lambda函数的使用