Python中的lambda匿名函数详解以及三种经典使用场景

在Python中,lambda函数是一种创建单行小函数的方式。它们没有名称,因此可以在需要一个函数但不需要给它命名时使用。

lambda函数的基本语法如下:




lambda arguments: expression

lambda函数可以接受任意数量的参数,但只能有一个表达式。这个表达式的结果就是该lambda函数的返回值。

下面是一些lambda函数的使用场景:

  1. 为sort()函数定制排序:



# 假设我们有一个列表,我们想根据列表中的第二个元素来进行排序
nums = [(1, 3), (2, 2), (0, 4), (10, 1)]
# 使用lambda函数作为sort函数的key参数
nums.sort(key=lambda x: x[1])
print(nums)  # 输出: [(10, 1), (2, 2), (1, 3), (0, 4)]
  1. 创建一个函数工厂:



# 创建一个函数,该函数可以生成基于给定数字增加特定值的函数
def make_adder(add_to):
    return lambda x: x + add_to
 
# 使用函数工厂创建一个新的函数
adder5 = make_adder(5)
print(adder5(1))  # 输出: 6
  1. 将lambda函数作为其他高阶函数的参数:



# 使用map函数将列表中的每个数字增加5
nums = [1, 2, 3, 4]
result = list(map(lambda x: x + 5, nums))
print(result)  # 输出: [6, 7, 8, 9]

请注意,虽然lambda函数可以用于简化代码,但是如果你的函数变得太复杂,你可能最好重写为一个完整的函数。lambda函数的主要优点是它们可以在不需要额外函数名的情况下快速创建小型函数。

最后修改于:2024年08月09日 12:36

评论已关闭

推荐阅读

Vue中使用mind-map实现在线思维导图
2024年08月04日
VUE
Web前端最全Vue实现免密登录跳转的方式_vue怎么样不登录返回首页,最强技术实现
2024年08月04日
VUE
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
2024年08月04日
VUE
Vue-颜色选择器实现方案——>Vue-Color( 实战*1+ Demo*7)
2024年08月04日
VUE
Vue项目卡顿慢加载?这些优化技巧告诉你!_vue数据多渲染卡顿
2024年08月04日
VUE
vue中的keep-alive详解与应用场景
2024年08月04日
VUE
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
2024年08月04日
vue-office/docx插件实现docx文件预览
2024年08月04日
VUE
java调用js文件的两种方法(支持V8引擎)
2024年08月04日
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
2024年08月04日
两周从爬虫小白变大神 _yjs_js_security_passport
2024年08月04日
JS笔记(对象、函数、数组)
2024年08月04日
Markdown.js:强大的纯JavaScript Markdown解析器
2024年08月04日
Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
2024年08月04日
vue 父组件怎么获取子组件里面的data数据
2024年08月04日
VUE
个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
2024年08月04日
el-table 表格封装并改造实现单元格可编辑
2024年08月04日
none
nodejs环境下创建vue项目、SSH密钥登陆!!!
2024年08月04日
vue+quill+element-ui实现视频、图片上传及缩放保姆级教程,轻松使用富文本
2024年08月04日
【three.js】22. Imported Models导入模型
2024年08月04日