在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查找第k小元素代码分享
Dec 18 Python
python创建和删除目录的方法
Apr 29 Python
python自定义类并使用的方法
May 07 Python
python中关于for循环的碎碎念
Jun 30 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 Python
python 实现在一张图中绘制一个小的子图方法
Jul 07 Python
超实用的 30 段 Python 案例
Oct 10 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
python基础之类属性和实例属性
Oct 24 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
Nov 11 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
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
php四种基础算法代码实例
2013/10/29 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
php自动获取关键字的方法
2015/01/06 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
为超链接加上disabled后的故事
2010/12/10 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
python在每个字符后添加空格的实例
2018/05/07 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
校园摄影活动策划方案
2014/02/05 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
Golang中异常处理机制详解
2021/06/08 Golang
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
索尼ICF-5900W收音机测评
2022/04/24 无线电