Python中重要的内建高阶函数

Python中重要的内建高阶函数

在Python中,filter、sorted、map 和 reduce 是一些内建的高阶函数,用于对可迭代对象进行过滤、排序、映射和累积操作。

filter 函数

  • 语法:filter(function, iterable)

  • 作用:用于过滤可迭代对象中的元素,返回一个由使得 function 返回 True 的元素所组成的迭代器。

  • 示例:

    py 复制代码
    # 过滤出偶数
    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]
    py 复制代码
    >>> 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)

  • 作用:对可迭代对象进行排序,返回一个新的已排序列表。

  • 示例:

    py 复制代码
    # 对字符串列表按长度排序
    words = ['apple', 'banana', 'kiwi', 'orange']
    result = sorted(words, key=len)
    print(result)  # 输出 ['kiwi', 'apple', 'banana', 'orange']

map 函数

  • 语法:map(function, iterable, ...)

  • 作用:对可迭代对象的每个元素应用一个函数,返回一个由应用函数后的结果组成的迭代器。

  • 示例:

    py 复制代码
    # 对列表中的每个元素求平方
    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])

  • 作用:对可迭代对象中的元素进行累积操作,返回一个单一的累积结果。

  • 示例:

    py 复制代码
    from functools import reduce
    
    # 计算列表中所有元素的乘积
    numbers = [2, 3, 4, 5]
    result = reduce(lambda x, y: x * y, numbers)
    print(result)  # 输出 120 (2 * 3 * 4 * 5)
相关推荐
GarrettGao39 分钟前
Frida常见用法
javascript·python·逆向
Juchecar1 小时前
Pandas技巧:利用 category 类型节省内存
python
跟橙姐学代码2 小时前
Python时间处理秘籍:别再让日期时间卡住你的代码了!
前端·python·ipython
mortimer4 小时前
Python 文件上传:一个简单却易犯的错误及解决方案
人工智能·python
Juchecar5 小时前
NumPy编程:鼓励避免 for 循环
python
Java陈序员5 小时前
直播录制神器!一款多平台直播流自动录制客户端!
python·docker·ffmpeg
c8i5 小时前
drf 在django中的配置
python·django
这里有鱼汤7 小时前
【花姐小课堂】新手也能秒懂!用「风险平价」打造扛造的投资组合
后端·python
databook21 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar1 天前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python