在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 用户登录验证的小例子
Mar 06 Python
pyramid配置session的方法教程
Nov 27 Python
python 多线程实现检测服务器在线情况
Nov 25 Python
python设计模式大全
Jun 27 Python
Python 多线程的实例详解
Sep 07 Python
Python面向对象类继承和组合实例分析
May 28 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
Jul 05 Python
mac安装python3后使用pip和pip3的区别说明
Sep 01 Python
Django用户认证系统如何实现自定义
Nov 12 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
Nov 26 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 chmod 函数与批量修改文件目录权限
2010/05/10 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
JS正则表达式常见用法实例详解
2018/06/19 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
python Jupyter运行时间实例过程解析
2019/12/13 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
实例代码讲解Python 线程池
2020/08/24 Python
python与js主要区别点总结
2020/09/13 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
企业治理工作自我评价
2013/09/26 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
2014年服务员工作总结
2014/11/18 职场文书
防卫过当辩护词
2015/05/21 职场文书
2015选调生工作总结
2015/07/24 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书