Python函数式编程

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

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

  1. 使用 map() 函数

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

python

python 复制代码
numbers = [1, 2, 3, 4, 5]

squared = map(lambda x: x**2, numbers)  # 使用lambda函数计算每个元素的平方

print(list(squared))  # 输出: [1, 4, 9, 16, 25]
  1. 使用 filter() 函数

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

python

python 复制代码
numbers = [1, -2, 3, -4, 5]

positive_numbers = filter(lambda x: x > 0, numbers)  # 筛选出正数

print(list(positive_numbers))  # 输出: [1, 3, 5]
  1. 使用 reduce() 函数(需要从 functools 导入)

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

python 复制代码
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
  1. 列表推导式

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

python 复制代码
numbers = [1, 2, 3, 4, 5]

squares = [x**2 for x in numbers]  # 计算每个数字的平方

print(squares)  # 输出: [1, 4, 9, 16, 25]
  1. 高阶函数:函数作为参数

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

python 复制代码
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函数式编程的核心概念,通过这些技术可以编写出更加简洁、易读且易于维护的代码。

相关推荐
luckys.one1 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
TomCode先生2 小时前
c#动态树形表达式详解
开发语言·c#
高-老师2 小时前
基于R语言的物种气候生态位动态量化与分布特征模拟
开发语言·r语言·物种气候
大翻哥哥3 小时前
Python 2025:量化金融与智能交易的新纪元
开发语言·python·金融
weixin_437830943 小时前
使用冰狐智能辅助实现图形列表自动点击:OCR与HID技术详解
开发语言·javascript·ocr
鹿鹿学长4 小时前
2025年全国大学生数学建模竞赛(C题) 建模解析|婴儿染色体数学建模|小鹿学长带队指引全代码文章与思路
c语言·开发语言·数学建模
zhousenshan4 小时前
Python爬虫常用框架
开发语言·爬虫·python
IMER SIMPLE4 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习
CodeCraft Studio5 小时前
国产化Word处理组件Spire.DOC教程:使用 Python 将 Markdown 转换为 HTML 的详细教程
python·html·word·markdown·国产化·spire.doc·文档格式转换
DKPT5 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习