Python学习笔记之lambda表达式用法详解


Posted in Python onAugust 08, 2019

本文实例讲述了Python学习笔记之lambda表达式用法。分享给大家供大家参考,具体如下:

Lambda 表达式

使用 Lambda 表达式创建匿名函数,即没有名称的函数。lambda 表达式非常适合快速创建在代码中以后不会用到的函数。

麻烦的写法:

def multiply(x, y):
  return x * y

使用Lambda之后:

double = lambda x, y: x * y

Lambda 函数的组成部分:

  • 关键字 lambda 表示这是一个 lambda 表达式。
  • lambda 之后是该匿名函数的一个或多个参数(用英文逗号分隔),然后是一个英文冒号 :。和函数相似,lambda 表达式中的参数名称是随意的。
  • 最后一部分是被评估并在该函数中返回的表达式,和你可能会在函数中看到的 return 语句很像。
  • 备注:鉴于这种结构,lambda 表达式不太适合复杂的函数,但是非常适合简短的函数。

Lambda 表达式[相关练习]

map() 是一个高阶内置函数,接受函数和可迭代对象作为输入,并返回一个将该函数应用到可迭代对象的每个元素的迭代器。下面的代码使用 map() 计算 numbers 中每个列表的均值,并创建列表 averages, 通过将 mean 函数替换为在 map() 的调用中定义的 lambda 表达式,重写这段代码,使代码更简练。

numbers = [
        [34, 63, 88, 71, 29],
        [90, 78, 51, 27, 45],
        [63, 37, 85, 46, 22],
        [51, 22, 34, 11, 18]
      ]
def mean(num_list):
  return sum(num_list) / len(num_list)
averages = list(map(mean, numbers))
print(averages)

使用lambda重写后:

numbers = [
        [34, 63, 88, 71, 29],
        [90, 78, 51, 27, 45],
        [63, 37, 85, 46, 22],
        [51, 22, 34, 11, 18]
      ]
averages = list(map(lambda x: sum(x) / len(x), numbers))
print(averages) # [57.0, 58.2, 50.6, 27.2]

filter() 是一个高阶内置函数,接受函数和可迭代对象作为输入,并返回一个由可迭代对象中的特定元素(该函数针对该元素会返回 True)组成的迭代器。下面的代码使用 filter() 从 cities 中获取长度少于 10 个字符的名称以创建列表 short_cities。通过将 is_short 函数替换为在 filter() 的调用中定义的 lambda 表达式,重写这段代码,使代码更简练。

cities = ["New York City", "Los Angeles", "Chicago", "Mountain View", "Denver", "Boston"]
def is_short(name):
  return len(name) < 10
short_cities = list(filter(is_short, cities))
print(short_cities)

使用lambda重写后:

cities = ["New York City", "Los Angeles", "Chicago", "Mountain View", "Denver", "Boston"]
short_cities = list(filter(lambda n: len(n) < 10, cities))
print(short_cities) # ['Chicago', 'Denver', 'Boston']

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python选择排序算法的实现代码
Nov 21 Python
python使用正则表达式检测密码强度源码分享
Jun 11 Python
python使用Tkinter显示网络图片的方法
Apr 24 Python
Python的randrange()方法使用教程
May 15 Python
python实现支持目录FTP上传下载文件的方法
Jun 03 Python
python实现傅里叶级数展开的实现
Jul 21 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
基于Python获取城市近7天天气预报
Nov 26 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 Python
Python echarts实现数据可视化实例详解
Mar 03 Python
python读取大文件越来越慢的原因与解决
Aug 08 #Python
Python实现Singleton模式的方式详解
Aug 08 #Python
Python判断字符串是否xx开始或结尾的示例
Aug 08 #Python
详解解决Python memory error的问题(四种解决方案)
Aug 08 #Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 #Python
pandas 选取行和列数据的方法详解
Aug 08 #Python
pandas 对日期类型数据的处理方法详解
Aug 08 #Python
You might like
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
layui分页效果实现代码
2017/05/19 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
python将文本转换成图片输出的方法
2015/04/28 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
python实现视频读取和转化图片
2019/12/10 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
与UNIX有关的几个名词
2015/09/17 面试题
村委会贫困证明
2014/01/14 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
党员评议自我评价
2015/03/03 职场文书
材料员岗位职责范本
2015/04/11 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
学校团代会开幕词
2016/03/04 职场文书
python爬虫框架feapde的使用简介
2021/04/20 Python