一篇文章带你学习Python3的高阶函数
概述
本文主要介绍Python3的高阶函数的概念、应用及示例。
高阶函数是指函数可以作为参数传递给另一个函数,或者函数可以返回另一个函数作为返回值。Python3提供了很多内置的高阶函数,例如map()、filter()、reduce()等。
map()
map()函数可以将一个序列中的每个元素都应用一个函数,然后返回一个新的序列。
lst = [1, 2, 3, 4, 5]
square_lst = list(map(lambda x: x ** 2, lst))
print(square_lst) # 输出: [1, 4, 9, 16, 25]
上述代码中,map()函数接收两个参数。第一个参数是函数,这里使用了lambda表达式来定义一个函数,用来实现平方的功能。第二个参数是一个序列,这里是一个列表lst。map()函数返回一个迭代器,因此需要使用list()函数将其转换为列表。
filter()
filter()函数可以过滤列表中的元素,筛选出满足条件的元素。
lst = [1, 2, 3, 4, 5]
odd_lst = list(filter(lambda x: x % 2 == 1, lst))
print(odd_lst) # 输出: [1, 3, 5]
上述代码中,filter()函数接收两个参数。第一个参数是函数,这里使用了lambda表达式来定义一个函数,用来判断列表中的元素是否为奇数。第二个参数是一个序列,这里是一个列表lst。filter()函数返回一个迭代器,也需要使用list()函数将其转换为列表。
reduce()
reduce()函数可以对一个序列进行累积计算,将序列中的每个元素都参与到计算中,最终返回一个单一的结果。
from functools import reduce
lst = [1, 2, 3, 4, 5]
sum = reduce(lambda x, y: x + y, lst)
print(sum) # 输出: 15
上述代码中,reduce()函数接收两个参数。第一个参数是一个函数,这里使用了lambda表达式来定义一个函数,用来实现对序列中的元素进行累积计算。第二个参数是一个序列,这里是一个列表lst。reduce()函数依次对序列中的元素进行计算,最终返回一个单一的结果。
总结
高阶函数是Python3中非常有用的特性,通过使用高阶函数,可以让代码更加简洁、优雅。本文介绍了Python3中的三个内置高阶函数:map()、filter()、reduce(),通过一些示例代码来说明其使用方法及注意点。希望本文能够对Python3的高阶函数有一定的了解和认识。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一篇文章带你学习Python3的高阶函数 - Python技术站