在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使用pickle模块存储数据报错解决示例代码
Jan 26 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
python3 遍历删除特定后缀名文件的方法
Apr 23 Python
python创建文件备份的脚本
Sep 11 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
wxPython实现列表增删改查功能
Nov 19 Python
python 实现矩阵填充0的例子
Nov 29 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 Python
通过代码实例了解Python异常本质
Sep 16 Python
通用的Django注册功能模块实现方法
Feb 05 Python
python 第三方库paramiko的常用方式
Feb 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
php常用文件操作函数汇总
2014/11/22 PHP
PHP生成压缩文件实例
2015/02/07 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
JavaScript中的Math.LOG2E属性使用详解
2015/06/14 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
Python找出最小的K个数实例代码
2018/01/04 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
使用python计算三角形的斜边例子
2020/04/15 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
ASP.NET Core中的配置详解
2021/02/05 Python
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
大学应届毕业生个人求职信
2013/09/23 职场文书
教师产假请假条范文
2014/04/10 职场文书
关于读书的演讲稿
2014/05/07 职场文书
销售团队口号大全
2014/06/06 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
出差报告范文
2014/11/06 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书