• Python函数式编程


    Python函数式编程内容不多,熟练使用它们能让代码简洁不少。

    Python中的函数式编程强调使用函数作为基本构建块,支持高阶函数、 lambda函数、列表推导式、map()、filter()、reduce()等特性。下面是一些函数式编程的典型例子:

    1. 使用 map() 函数

    map() 函数接受一个函数和一个可迭代对象(如列表),并将该函数依次应用于可迭代对象的每个元素。

    python

    numbers = [1, 2, 3, 4, 5]
    squared = map(lambda x: x**2, numbers)  # 使用lambda函数计算每个元素的平方
    print(list(squared))  # 输出: [1, 4, 9, 16, 25]
    '
    运行

    又如:

    result = map(operator.sub, [9, 8, 7], [3, 8, 2])
    data = list(result)
    '
    运行

    结果是:[6, 0, 5],对两个迭代对象进行相减。

    2. 使用 filter() 函数

    filter() 函数用于过滤序列,通过函数确定哪些元素应该保留在序列中。

    python

    numbers = [1, -2, 3, -4, 5]
    
    positive_numbers = filter(lambda x: x > 0, numbers)  # 筛选出正数
    
    print(list(positive_numbers))  # 输出: [1, 3, 5]
    '
    运行

    3. 使用 reduce() 函数(需要从 functools 导入)

    reduce() 函数对一个序列的元素累积应用某个函数,从左到右,因此最终结果只返回一个值。

    from functools import reduce
    
    
    numbers = [1, 2, 3, 4, 5]
    
    sum_of_numbers = reduce(lambda x, y: x + y, numbers)  # 计算数字总和
    
    print(sum_of_numbers)  # 输出: 15
    '
    运行

    4. 列表推导式

    列表推导式提供了一种简洁的创建新列表的方法,基于现有列表的每个元素应用一些操作。

    numbers = [1, 2, 3, 4, 5]
    
    squares = [x**2 for x in numbers]  # 计算每个数字的平方
    
    print(squares)  # 输出: [1, 4, 9, 16, 25]
    '
    运行

    5. 高阶函数:函数作为参数

    函数式编程允许函数作为另一个函数的参数,这在处理数据时非常灵活。

    def apply_operation(operation, numbers):
    
        return [operation(x) for x in numbers]
    
    
    def add_five(x):
    
        return x + 5
    
    
    result = apply_operation(add_five, [1, 2, 3])
    
    print(result)  # 输出: [6, 7, 8]
    

    这些例子展示了Python函数式编程的核心概念,通过这些技术可以编写出更加简洁、易读且易于维护的代码。

  • 相关阅读:
    第二章: 创建第一个Spring Boot 应用
    28线性空间02—— 坐标变换
    ByteBuffer操作简介
    身份证实名接口和身份证OCR接口的组合使用
    java-spring返回类
    mysql主从复制读写分离
    一个简单的基于Qt的MVC框架
    spring整合influxdb
    华为HCIE实验题库哪里有?Cloud相关证书咋样?
    gorm的自动化工具gen_已设置图床
  • 原文地址:https://blog.csdn.net/jgku/article/details/139479032