基于Python列表解析(列表推导式)


Posted in Python onJune 23, 2018

列表解析——用来动态地创建列表

[expr for iter_var in iterable if cond_expr]

例子一:

map(lambda x: x**2, range(6))
[0, 1, 4, 9, 16, 25]
[x**2 for x in range(6)]
[0, 1, 4, 9, 16, 25]

列表解析式可以取代内建的map()函数以及lambda,而且++效率更高++。

例子二:

seq = [11, 10, 9, 8, 7, 6]
filter(lambda x: x % 2, seq)
[11, 9, 7]
[x for x in seq if x % 2]
[11, 9, 7]

例子三:

找出文本中最长的词

# 第一个最长的词
longest = ''
for word in text:
 if len(word) > len(longest):
  longest = word
#所有最长的词
maxlen = max(len(word) for word in text) # 生成器表达式
[word for word in text if len(word) == maxlen] #链表推导式

不足:列表解析得一个不足就是必要生成所有数据,用于创建整个列表。这可能对有大量数据得迭代其有负面效应。

++解决方法++:生成器表达式,通过结合列表解析和生成器解决了这个问题。

嵌套列表推导式

例一

all_data = [[1,3,5,7,9],
   [2,4,6,8,10]]
result = []
for nums in all_data:
 temp_num = [num for num in nums if num >= 5]
 result.extend(temp_num)

嵌套列表推导式

result = [num for nums in all_data for num in nums if num >= 5]

推导式中for的部分是按嵌套顺序排列的。

例二

some_tuples = [(1,2,3), (4,5,6), (7,8,9)]
flattened = [x for tup in some_tuples for x in tup]
flattened
[1,2,3,4,5,6,7,8,9]

以上这篇基于Python列表解析(列表推导式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python制作小说爬虫实录
Aug 14 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 Python
每天迁移MySQL历史数据到历史库Python脚本
Apr 13 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
使用Windows批处理和WMI设置Python的环境变量方法
Aug 14 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
通过实例解析python subprocess模块原理及用法
Oct 10 Python
pycharm永久激活超详细教程
Oct 29 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 Python
python将回车作为输入内容的实例
Jun 23 #Python
Python 对输入的数字进行排序的方法
Jun 23 #Python
python获取命令行输入参数列表的实例代码
Jun 23 #Python
Python键盘输入转换为列表的实例
Jun 23 #Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 #Python
Python实现重建二叉树的三种方法详解
Jun 23 #Python
Python根据已知邻接矩阵绘制无向图操作示例
Jun 23 #Python
You might like
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
php实现Session存储到Redis
2015/11/11 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
var与Javascript变量隐式声明
2009/09/17 Javascript
js读取本地excel文档数据的代码
2010/11/11 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
Bootstrap与Angularjs的模态框实例代码
2017/08/03 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
wxPython 入门教程
2008/10/07 Python
Python的类实例属性访问规则探讨
2015/01/30 Python
Python中random模块用法实例分析
2015/05/19 Python
python中range()与xrange()用法分析
2016/09/21 Python
python http接口自动化脚本详解
2018/01/02 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
python列表生成器迭代器实例解析
2019/12/19 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
区域销售经理岗位职责
2013/12/10 职场文书
高一政治教学反思
2014/01/28 职场文书
行政助理的岗位职责
2014/02/18 职场文书
搞笑的获奖感言
2014/08/16 职场文书
大学宣传委员竞选稿
2015/11/19 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
python模板入门教程之flask Jinja
2022/04/11 Python