在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解析文件示例
Jan 23 Python
python图像处理之反色实现方法
May 30 Python
利用python程序生成word和PDF文档的方法
Feb 14 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
python修改FTP服务器上的文件名
Sep 11 Python
Python读取实时数据流示例
Dec 02 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
python numpy库np.percentile用法说明
Jun 08 Python
python迷宫问题深度优先遍历实例
Jun 20 Python
python ConfigParser库的使用及遇到的坑
Feb 12 Python
Python pyecharts绘制条形图详解
Apr 02 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
杏林同学录(五)
2006/10/09 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
Python调用C++程序的方法详解
2017/01/24 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
Django操作session 的方法
2020/03/09 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
python 通过exifread读取照片信息
2020/12/24 Python
vue+django实现下载文件的示例
2021/03/24 Vue.js
旅游管理本科生求职信
2013/10/14 职场文书
党员民主评议总结
2014/10/20 职场文书
优秀班组申报材料
2014/12/25 职场文书
从事会计工作年限证明
2015/06/23 职场文书
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL