高階函數有map()、filter()、reduce()、lambda函數、partial()等。詳細介紹:1、map():這個內建函數接受一個函數和一個或多個可迭代物件作為輸入,然後傳回一個將輸入函數應用於可迭代物件的每個元素的迭代器;2、filter() :這個內建函數接受一個函數和一個可迭代物件作為輸入,然後傳回一個迭代器,該迭代器產生那些使得輸入函數傳回True的元素等等
高階函數在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中文網其他相關文章!