在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程序设计入门(4)模块和包
Jun 16 Python
Python正则表达式匹配HTML页面编码
Apr 08 Python
用Python登录Gmail并发送Gmail邮件的教程
Apr 17 Python
Python实现压缩与解压gzip大文件的方法
Sep 18 Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 Python
详解Python函数可变参数定义及其参数传递方式
Aug 02 Python
python PyTorch预训练示例
Feb 11 Python
python中subprocess批量执行linux命令
Apr 27 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
python计算无向图节点度的实例代码
Nov 22 Python
python实现最短路径的实例方法
Jul 19 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计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
python原始套接字编程示例分享
2014/02/21 Python
numpy数组拼接简单示例
2017/12/15 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
python3调用windows dos命令的例子
2019/08/14 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
Python同时迭代多个序列的方法
2020/07/28 Python
详解python UDP 编程
2020/08/24 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
环境工程专业个人求职信
2013/12/05 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
客房领班岗位职责
2015/02/11 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
浅谈python数据类型及其操作
2021/05/25 Python
详解Python魔法方法之描述符类
2021/05/26 Python
详解Laravel制作API接口
2021/05/31 PHP
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android