欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python的函数(五)-- 常用高阶函数

程序员文章站 2024-03-26 09:52:59
...

高阶函数:

map用法(映射):

方法中第一个参数是function,以参数序列中的每一个元素进行调用该function函数,最终返回一个map对象

这个map对象其本质是每个元素执行完function之后由重新组成的列表

案例:

list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))

reduce用法(累计):

reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。

注意:reduce()函数在库functools里,如果要使用它,要从这个库里导入。

案例:
from functools import reduce
 
n = 3
print(reduce(lambda x, y: x * y, range(1, n + 1)))

filter用法(过滤):

filter方法用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象,如果要转换为列表可以使用list()来转换

该方法接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回True或False,最后将返回True的元素放到新的序列中

案例:
#将含有小写的字符串剔除
ser = ["aSd","vbn","nbg","Ghg","ikL"]

# my_list = []
# def my():
#     for i in ser:
#         if i.islower()==False:
#             my_list.append(i)

new_list = filter(lambda ser:ser.islower()==False,ser)
print(list(new_list))