关于“Python 高阶函数简单介绍”,我可以提供如下攻略。
一、什么是高阶函数?
在 Python 中,高阶函数是指能够接收函数作为参数或者将函数作为返回值的函数。可以说,高阶函数是函数式编程的重要特性之一,它可以让我们更加灵活地操作函数和数据。在 Python 中,常见的高阶函数有:map()
,filter()
,reduce()
等。
二、map()
函数
map()
函数是高阶函数中常见的一种,它可以将一个函数作用于一个可迭代对象中的每个元素,并返回一个新的可迭代对象,其中每个元素都是原可迭代对象的元素经过函数作用后的结果。下面是一个示例代码:
def square(x):
return x ** 2
lst = [1, 2, 3, 4, 5]
squares = map(square, lst)
print(list(squares)) # [1, 4, 9, 16, 25]
上面的代码中,我们定义了一个 square()
函数,用于计算某个数的平方。然后,我们创建了一个列表 lst
,其中包含了一组数字。接着,我们使用 map()
函数将 square()
函数作用于列表 lst
中的每个元素,最后得到一个新的可迭代对象 squares
,其中包含了列表 lst
中每个元素的平方。最后,我们使用 list()
函数将 squares
转换为一个列表,并打印出来。
三、filter()
函数
和 map()
函数类似,filter()
函数也是高阶函数中常见的一种,它可以接收一个函数和一个可迭代对象作为参数,并过滤出可迭代对象中所有符合条件的元素,然后返回一个新的可迭代对象。下面是一个示例代码:
def is_even(x):
return x % 2 == 0
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = filter(is_even, lst)
print(list(evens)) # [2, 4, 6, 8, 10]
上面的代码中,我们定义了一个 is_even()
函数,用于判断某个数是否为偶数。然后,我们创建了一个列表 lst
,其中包含了一组数字。接着,我们使用 filter()
函数将 is_even()
函数作用于列表 lst
中的每个元素,过滤出所有的偶数,最后得到一个新的可迭代对象 evens
,其中包含了列表 lst
中所有的偶数。最后,我们使用 list()
函数将 evens
转换为一个列表,并打印出来。
除了 map()
和 filter()
函数之外,还有很多其他的高阶函数,比如 reduce()
函数、sorted()
函数等,它们同样具有非常重要的作用。如果您感兴趣,可以自行了解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 高阶函数简单介绍 - Python技术站