首页 >常见问题 >python高阶函数有哪些

python高阶函数有哪些

小老鼠
小老鼠原创
2023-11-10 16:42:141305浏览

高阶函数有map()、filter()、reduce()、lambda函数、partial()等。详细介绍:1、map():这个内置函数接受一个函数和一个或多个可迭代对象作为输入,然后返回一个将输入函数应用于可迭代对象的每个元素的迭代器;2、filter():这个内置函数接受一个函数和一个可迭代对象作为输入,然后返回一个迭代器,该迭代器产生那些使得输入函数返回True的元素等等

python高阶函数有哪些

高阶函数在Python中通常指的是接受一个或多个函数作为输入(参数)或返回一个函数作为输出的函数。这种概念常常出现在函数式编程中。

以下是一些Python中的高阶函数示例:

map():这个内置函数接受一个函数和一个或多个可迭代对象作为输入,然后返回一个将输入函数应用于可迭代对象的每个元素的迭代器。

def square(n):  
    return n * n  
numbers = [1, 2, 3, 4, 5]  
squared = map(square, numbers)  
print(list(squared))  # Output: [1, 4, 9, 16, 25]

filter():这个内置函数接受一个函数和一个可迭代对象作为输入,然后返回一个迭代器,该迭代器产生那些使得输入函数返回True的元素。

def is_even(n):  
    return n % 2 == 0  
numbers = [1, 2, 3, 4, 5]  
even_numbers = filter(is_even, numbers)  
print(list(even_numbers))  # Output: [2, 4]

reduce():这个内置函数接受一个函数和一个可迭代对象作为输入,然后使用该函数将可迭代对象中的元素两两结合,直到只剩下一个元素。

from functools import reduce  
def add(x, y):  
    return x + y  
numbers = [1, 2, 3, 4, 5]  
sum_of_numbers = reduce(add, numbers)  
print(sum_of_numbers)  # Output: 15

lambda函数:lambda函数是一种创建匿名函数的方式,非常适合于短小的函数定义。

squared = list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))  
print(squared)  # Output: [1, 4, 9, 16, 25]

partial():这个函数从functools模块中,用于部分应用函数参数。

from functools import partial  
def add(x, y):  
    return x + y  
add_five = partial(add, 5)  # Create a function that adds 5 to its argument.  
print(add_five(3))  # Output: 8

以上是python高阶函数有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn