在Python中使用lambda高效操作列表的教程


Posted in Python onApril 24, 2015

介绍
lambda

Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错

result = lambda x: x * x
result(2) # return 4
map()/filter()/reduce()

需要两个参数,第一个是一个处理函数,第二个是一个序列(list,tuple,dict)
map()

将序列中的元素通过处理函数处理后返回一个新的列表
filter()

将序列中的元素通过函数过滤后返回一个新的列表
reduce()

将序列中的元素通过一个二元函数处理返回一个结果
将上面三个函数和lambda结合使用

li = [1, 2, 3, 4, 5]
# 序列中的每个元素加1
map(lambda x: x+1, li) # [2,3,4,5,6]

# 返回序列中的偶数
filter(lambda x: x % 2 == 0, li) # [2, 4]

# 返回所有元素相乘的结果
reduce(lambda x, y: x * y, li) # 1*2*3*4*5 = 120

sorted() 结合lambda对列表进行排序

sorted 用于列表的排序,比列表自带的更加智能 有两个列表,每个列表中都有一个字典([{},{}])要求将两个这样的列表合并后按照时间排序, 两个列表中的时间为了能够通过json输出已经由时间格式转变为字符串格式.字段名为 sort_time 现在将他们按照倒序排列
sorted 的用法

sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list terable:是可迭代类型; cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项; key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项; reverse:排序规则. reverse = True 或者 reverse = False,有默认值。 * 返回值:是一个经过排序的可迭代类型,与iterable一样。
sorted()结合lambda对可迭代类型用sort_time排序

sorted(data, key=lambda d: d['sort_time'], reverse=True)
Python 相关文章推荐
python在不同层级目录import模块的方法
Jan 31 Python
Python写的一个定时重跑获取数据库数据
Dec 28 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
python识别图像并提取文字的实现方法
Jun 28 Python
django框架用户权限中的session缓存到redis中的方法
Aug 06 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
python两个_多个字典合并相加的实例代码
Dec 26 Python
python 5个实用的技巧
Sep 27 Python
python实现跨年表白神器--你值得拥有
Jan 04 Python
python 如何用terminal输入参数
May 25 Python
python常见的占位符总结及用法
Jul 02 Python
python中 Flask Web 表单的使用方法
May 20 Python
使用Python的判断语句模拟三目运算
Apr 24 #Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 #Python
整理Python最基本的操作字典的方法
Apr 24 #Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 #Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 #Python
Python3.x中自定义比较函数
Apr 24 #Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 #Python
You might like
实用函数7
2007/11/08 PHP
PHP 学习路线与时间表
2010/02/21 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
使用nodejs开发cli项目实例
2015/06/03 NodeJs
javascript的BOM
2016/05/03 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
javascript实现简单页面倒计时
2021/03/02 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
python实现线程池的方法
2015/06/30 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
python将数组n等分的实例
2019/12/02 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
工业自动化专业毕业生推荐信
2013/11/18 职场文书
党校学习自我鉴定
2014/02/24 职场文书
环保倡议书
2014/04/14 职场文书
农村文化活动总结
2014/08/28 职场文书
要账委托书范本
2014/09/15 职场文书
购房委托书
2014/10/15 职场文书
房贷收入证明范本
2015/06/12 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS