news 2026/5/12 16:52:39

匿名函数、高阶函数、map/filter/reduce

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
匿名函数、高阶函数、map/filter/reduce

一、匿名函数 lambda

语法

python

运行

lambda 参数: 表达式
  • 没有函数名,一行写完简单逻辑
  • 只能写一个表达式,不能写循环、if 块
  • 自动返回表达式结果,不用写return

示例

python

运行

# 普通函数 def add(x, y): return x + y # 匿名函数 add_lam = lambda x, y: x + y print(add_lam(3,5))

常用:临时传参、配合高阶函数


二、高阶函数

定义

满足任意一个就是高阶函数:

  1. 接收函数作为参数
  2. 返回一个函数

简单例子

python

运行

# 接收函数当参数 def calc(func, a, b): return func(a, b) res = calc(lambda x,y:x*y, 3, 4) print(res)

作用:把逻辑当成参数传进去,代码更灵活、简洁。


三、map 映射

作用

对序列每个元素执行同一个函数,批量处理。

语法

python

运行

map(函数, 可迭代对象)

示例

python

运行

lst = [1,2,3,4] # 每个元素平方 res = map(lambda x: x**2, lst) print(list(res)) # [1, 4, 9, 16]

多序列映射:

python

运行

a = [1,2] b = [10,20] res = map(lambda x,y:x+y, a, b) print(list(res)) # [11, 22]

四、filter 过滤

作用

按条件筛选保留符合条件的元素

语法

python

运行

filter(判断函数, 可迭代对象)

函数返回True保留,False舍弃。

示例

python

运行

lst = [1,2,3,4,5,6] # 只保留偶数 res = filter(lambda x: x%2==0, lst) print(list(res)) # [2, 4, 6]

五、reduce 累积归约

作用

从左到右依次两两运算,最终合并成一个值需要先导入:from functools import reduce

语法

python

运行

reduce(函数, 序列)

示例

python

运行

from functools import reduce lst = [1,2,3,4] # 累加:1+2+3+4 res = reduce(lambda x,y: x+y, lst) print(res) # 10 # 累乘 res2 = reduce(lambda x,y: x*y, lst) print(res2) # 24
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 16:50:39

构建高效开发沙盒:从测试仓库到团队协作最佳实践

1. 项目概述:从仓库名到协作实践的深度解构看到zhihongjao/copaw-test-repo这个仓库名,很多开发者可能会觉得这只是一个普通的、用于测试的代码仓库。但作为一名在开源协作和团队开发一线摸爬滚打多年的老手,我看到的远不止于此。这个看似简单…

作者头像 李华
网站建设 2026/5/12 16:45:34

遵义播州建筑企业办理ISO9001质量管理体系认证有什么重要意义?

遵义播州建筑企业办理ISO9001质量管理体系认证有什么重要意义?在遵义城市建设高速推进、基建项目不断增多的背景下,建筑行业竞争愈发激烈,ISO9001质量管理体系认证,已成为遵义建筑企业提升工程品质、强化市场竞争力、实现长远发展…

作者头像 李华
网站建设 2026/5/12 16:44:41

Photoshop图层批量导出革命性工具:高效自动化工作流解决方案

Photoshop图层批量导出革命性工具:高效自动化工作流解决方案 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目地址…

作者头像 李华
网站建设 2026/5/12 16:41:13

离线环境VSCode里无法跳转golang代码

vscode使用“install from VSIX”安装了“go for vscode”插件,并且Windows环境也装了go运行环境,但是打开golang代码,鼠标右键没有GO to Definition这一些列跳转项,只有“Paste”后面这一堆和go相关的,并且ctrl鼠标左…

作者头像 李华