Python中重要的内建高阶函数
Python中重要的内建高阶函数
在Python��,filter、sorted、map 和 reduce 是一些内建的高阶函数,用于对可迭代对象进行过滤、排序、映射和累积操作。
()filter 函数
-
语法:filter(function, iterable)
-
作用:用于过滤可迭代对象中的元素,返回一个由使得 function 返回 True 的元素所组成的迭代器。
() -
示例:
# 过滤出偶数 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = filter(lambda x: x % 2 == 0, numbers) print(list(result)) # 输出 [2, 4, 6, 8, 10]
>>> def f(x) : return True if x % 2 == 0 else False >>> number = [i for i in range(1, 10)] >>> list(filter(f, number)) [2, 4, 6, 8]
sorted 函数
-
语法:sorted(iterable, key=key, reverse=reverse)
-
作用:对可迭代对象进行排序,返回一个新的已排序列表。
-
示例:
# 对字符串列表按长度排序 words = ['apple', 'banana', 'kiwi', 'orange'] result = sorted(words, key=len) print(result) # 输出 ['kiwi', 'apple', 'banana', 'orange']
map 函数
-
语法:map(function, iterable, ...)
-
作用:对可迭代对象的每个元素应用一个函数,返回一个由应用函数后的结果组成的迭代器。
-
示例:
# 对列表中的每个元素求平方 numbers = [1, 2, 3, 4, 5] result = map(lambda x: x**2, numbers) print(list(result)) # 输出 [1, 4, 9, 16, 25]
reduce 函数
-
需要导入:from functools import reduce
-
语法:reduce(function, iterable[, initializer])
-
作用:对可迭代对象中的元素进行累积操作,返回一个单一的累积结果。
-
示例:
from functools import reduce # 计算列表中所有元素的乘积 numbers = [2, 3, 4, 5] result = reduce(lambda x, y: x * y, numbers) print(result) # 输出 120 (2 * 3 * 4 * 5)
-
-
-
The End