在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基础教程之lambda表达式使用方法
Feb 12 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
python+opencv+caffe+摄像头做目标检测的实例代码
Aug 03 Python
python  创建一个保留重复值的列表的补码
Oct 15 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
Django如何开发简单的查询接口详解
May 17 Python
pyqt5 实现工具栏文字图片同时显示
Jun 13 Python
详解python和matlab的优势与区别
Jun 28 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
Python编程快速上手——强口令检测算法案例分析
Feb 29 Python
Python之变量类型和if判断方式
May 05 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的一些基础知识分享
2011/07/27 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
vue实现简单图片上传
2020/06/30 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
Python实现程序的单一实例用法分析
2015/06/03 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
python cs架构实现简单文件传输
2020/03/20 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
Python中的字符串切片(截取字符串)的详解
2019/05/15 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
盛大笔试题
2016/11/05 面试题
简述安装Slackware Linux系统的过程
2012/05/08 面试题
社会学专业学生职业规划书
2014/02/07 职场文书
教师对学生的寄语
2014/04/03 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书