# 一文弄懂Python中的Map、Filter和Reduce函数

## 2. 高阶函数

[En]

When a function is passed in as a parameter, such a function is called a high-order function, and functional programming refers to this highly abstract programming paradigm. Examples are as follows:

def higher(your_function, some_variable):    return your_function(some_variable)


map(your_function, your_list)filter(your_function, your_list)reduce(your_function, your_list)


## 3. Lambda表达式

Lambda 函数类似于普通的 Python 函数，区别在于我们必须为普通函数命名，但对于 lambda 函数，它是可选的。具体语法如下：

lambda inputs: output


def multiply2(x):           # is the same as    return x * 2multiply2 = lambda x: x*2   # lambda function


def add(a, b):          # is the same as    return a + badd = lambda a,b: a+b   # lambda function


## 4. Map函数

Map 用于迭代可可迭代对象中的每个元素进行相应的转换操作。 例如，通过将 ​ &#x200B;[1&#xFF0C;2&#xFF0C;3]&#x200B;​ 中的每个元素乘以 2，将 ​ &#x200B;[1&#xFF0C;2&#xFF0C;3] &#x200B;​变换为 ​ &#x200B;[2&#xFF0C;4&#xFF0C;6]&#x200B;​。 为此，我们需要一个lambda函数，该函数用于实现将单个元素乘2的操作，如下：

before = [1,2,3]after = list(map(lambda x:x*2, before))# after is [2,4,6]


[En]

In addition, we are looking at the next example, which is mainly used to convert all characters of a string to uppercase. As follows:

before = ["apple", "orange", "pear"]after = list(map(lambda x:x.upper(), before))# after is ["APPLE", "ORANGE", "PEAR"]


## 5. Filter函数

before = [1,2,3,4,5,6]after = list(filter(lambda x:x%2==1, before))# after is [1,3,5]


before = ["apple", "orange", "pear"]after = list(filter(lambda x:len(x)>=5, before))# after is ["apple", "orange"]


## 6. Reduce函数

from functools import reduce


from functools import reducebefore = [1,2,3,4,5]after = reduce(lambda a,b: a*b, before)# after is 120


from functools import reducebefore = ["apple", "orange", "pear"]after = reduce(lambda a,b: a+"-"+b, before)


## 7. 总结

Original: https://blog.51cto.com/u_15506603/5604463
Author: sgzqc
Title: 一文弄懂Python中的Map、Filter和Reduce函数

(0)

### 大家都在看

• #### 【HDFS】一次Namenode的RPC延迟故障排查引发的深入思考

一次Namenode的RPC延迟故障排查引发的深入思考 前言 正文 * 问题排查 – 初步定位 临时恢复 定位可疑进程 问题分析 – 问题脚本分析 问题原因…

Python 2023年6月11日
0156

Python 2023年10月4日
093
• #### 基于python 爬虫的疫情数据可视化系统

文章目录 前言 1 课题背景 2 实现效果 * 2.1 整体界面展示 2.2 收集數據 3 實現過程 – 3.1 爬取疫情數據： + 3.1.1 導包 3.1.2 實例…

Python 2023年8月2日
0104
• #### 【Pytorch】笔记内容007：进行PyTorch1.7.1在Conda虚拟环境进行搭建（GPU版本）

目录 背景 * 环境说明 具体安装步骤 测试安装成功 背景 Pytorch作为现在深度学习领域主流的框架之一，恰逢毕设中模型使用Pytorch进行搭建，赶上现在不想做毕设，就来记载…

Python 2023年9月8日
0107
• #### C++模板(初阶)

本章主要讲解三个部分： 泛型编程、函数模板、类模板 目录 泛型编程 函数模板 函数模板概念 函数模板的格式 函数模板的原理 函数模板的实例化 隐式实例化 显式实例化 模板参数的匹配…

Python 2023年9月16日
0121
• #### python 单例

python 单例 原创 海洋的渔夫2022-07-22 21:43:04博主文章分类：Python系列 ©著作权 文章标签 类属性 初始化 python 文章分类 Python …

Python 2023年5月25日
0121
• #### 重温17年最火的微信小游戏，用python玩到没朋友

前言 还记得17年微信小游戏刚出来的时候，朋友圈全都是跳一跳，朋友之间问就是你跳了多少分，彼此之间这个分数就成了朋友之间的炫耀资本。后来，游戏越来越多，跳一跳也就失宠了，现在基本上…

Python 2023年9月18日
088
• #### Python 與數據資料分析2.2-Matplotlib.pyplot 之動畫

“Talk is cheap. Show me the code.”― Linus Torvalds 老子第41章上德若谷大白若辱大方無隅大器晚成大音希聲大…

Python 2023年9月2日
0139
• #### Pandas – 10.1 聚合groupby-agg/aggreagte

count / np.count_nonzero 统计频数（不包含NaN值）size 统计频数 （包含NaN值）mean / np.mean 求平均值std / np.std 样本…

Python 2023年8月18日
0124
• #### Python基础：对Python列表（list）的详细用法

目录 一. 创建列表 1.1 第一种 1.2 第二种 二. 查询列表 2.1 获取列表元素索引 2.2 获取列表单个元素 2.3 获取列表多个元素 2.3 判断元素是否存在于列表 …

Python 2023年8月2日
082
• #### Scrapy爬虫框架学习笔记-基础知识

Scrapy爬虫架构应用 编辑环境：python3.6.4编辑器：Pycharm2021.1.1操作系统：windows11终端：windows powershell 创建scra…

Python 2023年10月4日
081
• #### PageObject（PO）设计模式在 UI 自动化中的实践总结（以 QQ 邮箱登陆为例）

Original: https://www.cnblogs.com/chengzi-ceba/p/16230074.htmlAuthor: 橙子~测试开发Title: PageOb…

Python 2023年11月2日
0105
• #### Python制作粒子烟花，提前开始跨年？

前言 跨年倒计时20天？我已经开始整烟花了，虽然不是很好看吧，但是也能将就看看 😥 这个的背景图，音乐，还有文字都是可以自己修改的哦 效果展示 ; 导入库 import rando…

Python 2023年8月30日
074
• #### (fields.E180) SQLite does not support JSONFields.

To use django.db.models.JSONField on SQLite, you need to enable the JSON1 extension on Pyt…

Python 2023年8月6日
073
• #### np.stack()使用

1.官网https://numpy.org/doc/stable/reference/generated/numpy.stack.html np.stack(arrays , ax…

Python 2023年8月28日
093
• #### 阿里技术官耗时半年总结出“满分”架构笔记，拿捏分布式到微服务

啊哦~你想找的内容离你而去了哦 内容不存在，可能为如下原因导致： ① 内容还在审核中 ② 内容以前存在，但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

Python 2023年10月7日
082