在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爬取NUS-WIDE数据库图片
Oct 05 Python
Python读取Word(.docx)正文信息的方法
Mar 15 Python
python实现俄罗斯方块
Jun 26 Python
Python中垃圾回收和del语句详解
Nov 15 Python
Django高级编程之自定义Field实现多语言
Jul 02 Python
Python 转换RGB颜色值的示例代码
Oct 13 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 Python
Python中itertools的用法详解
Feb 07 Python
python实现可下载音乐的音乐播放器
Feb 25 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
Python sqlalchemy时间戳及密码管理实现代码详解
Aug 01 Python
Python字符串对齐方法使用(ljust()、rjust()和center())
Apr 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 函数使用方法与函数定义方法
2010/05/09 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
php发送与接收流文件的方法
2015/02/11 PHP
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
python的文件操作方法汇总
2017/11/10 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
python将图片转base64,实现前端显示
2020/01/09 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
python连接mysql有哪些方法
2020/06/24 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
服装设计专业毕业生推荐信
2013/11/09 职场文书
经济管理专业自荐信
2013/12/30 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
全运会口号
2014/06/20 职场文书
学习心理学的体会
2014/11/07 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
违纪开除通知书
2015/04/25 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
Django migrate报错的解决方案
2021/05/20 Python
Python OpenCV实现图像模板匹配详解
2022/04/07 Python
Python之matplotlib绘制折线图
2022/04/13 Python