在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检测lvs real server状态
Jan 22 Python
python修改注册表终止360进程实例
Oct 13 Python
介绍Python的Urllib库的一些高级用法
Apr 30 Python
Python中关于使用模块的基础知识
May 24 Python
Python之文字转图片方法
May 10 Python
Python面向对象类的继承实例详解
Jun 27 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
通过PHP与Python代码对比的语法差异详解
Jul 10 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
Django Channel实时推送与聊天的示例代码
Apr 30 Python
Pygame框架实现飞机大战
Aug 07 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 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小程序自动提交到自助友情连接
2009/11/24 PHP
php中stream(流)的用法
2014/03/25 PHP
百度实时推送api接口应用示例
2014/10/21 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
js传值 判断
2006/10/26 Javascript
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
js实现五星评价功能
2017/03/08 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
python中查看变量内存地址的方法
2015/05/05 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
Python中的默认参数实例分析
2018/01/29 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
2019/08/07 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
Python里面search()和match()的区别
2016/09/21 面试题
心理健康心得体会
2014/01/02 职场文书
物理力学求职信
2014/02/18 职场文书
村班子对照检查材料
2014/08/18 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
深入理解go slice结构
2021/09/15 Golang