在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使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
Python3爬虫学习入门教程
Dec 11 Python
Python进阶之全面解读高级特性之切片
Feb 19 Python
Python二叉搜索树与双向链表转换算法示例
Mar 02 Python
python爬虫 Pyppeteer使用方法解析
Sep 28 Python
python 生成器和迭代器的原理解析
Oct 12 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
Python的这些库,你知道多少?
Jun 09 Python
Python 一键获取电脑浏览器的账号密码
May 11 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学习之数组的定义和填充
2011/04/17 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
10 个经典PHP函数
2013/10/17 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
详解JS模块导入导出
2017/12/20 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
npm 下载指定版本的组件方法
2018/05/17 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
python logging日志模块原理及操作解析
2019/10/12 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
关于法制教育的宣传语
2015/07/13 职场文书
运动会广播稿20字
2015/08/19 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL