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))