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)
    

相关推荐

  1. Python重要函数

    2024-03-10 03:32:05       24 阅读
  2. Python函数白话

    2024-03-10 03:32:05       40 阅读
  3. Python函数

    2024-03-10 03:32:05       10 阅读
  4. python常用函数

    2024-03-10 03:32:05       13 阅读
  5. 深入理解函数函数柯里化在React应用

    2024-03-10 03:32:05       40 阅读
  6. react函数HOC:

    2024-03-10 03:32:05       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 03:32:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 03:32:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 03:32:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 03:32:05       20 阅读

热门阅读

  1. Linux下使用MD5SUM命令详解

    2024-03-10 03:32:05       27 阅读
  2. docker搭建zero-ui

    2024-03-10 03:32:05       23 阅读
  3. linux kernel物理内存概述(七)

    2024-03-10 03:32:05       27 阅读
  4. 【 React 】super()和super(props)有什么区别

    2024-03-10 03:32:05       22 阅读
  5. react 如何创建antdesign项目,详细讲解

    2024-03-10 03:32:05       18 阅读
  6. 如果reactive绑定的数据没有双向绑定

    2024-03-10 03:32:05       34 阅读
  7. 基于react native的简单手动切换功能示例

    2024-03-10 03:32:05       20 阅读