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

[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列表解析(列表推导式)

本文地址: http://www.cppcns.com/jiaoben/python/230919.html

列表解析python_基于Python列表解析(列表推导式)相关推荐

  1. grib1文件解析 python_基于Python的Grib数据可视化

    利用Python语言实现Grib数据可视化主要依靠三个库--pygrib.numpy和matplotlib.pygrib是欧洲中期天气预报中心(ECMWF)的GRIG API C库的Python接口, ...

  2. python中的字典推导式_python 字典推导式(经典代码)(22)

    文章首发微信公众号,微信搜索:猿说python 在昨天的文章中,我们介绍了关于字典推导式使用方法其实也类似,也是通过循环和条件判断表达式配合使用,不同的是字典推导式返回值是一个字典,所以整个表达式需要 ...

  3. python中的字典推导式_17.python 字典推导式(经典代码)

    在昨天的文章中,我们介绍了关于** python列表推导式** 的使用,字典推导式使用方法其实也类似,也是通过循环和条件判断表达式配合使用,不同的是字典推导式返回值是一个字典,所以整个表达式需要写在{ ...

  4. Python笔记002-列表推导式

    Python笔记002-列表推导式 以下是我学习<流畅的Python>后的个人笔记,现在拿出来和大家共享,希望能帮到各位Python学习者. 首次发表于: 微信公众号:科技老丁哥,ID: ...

  5. Python学习笔记 —— 独步天下推导式语法糖

    Python学习笔记 -- 独步天下推导式语法糖 前言 介绍 列表推导式 获取当月天数 字典推导式 模拟三条用户数据 结束语 前言 最近心血来潮,学习了一下Python,其中关于 推导式语法糖 感觉功 ...

  6. python 字典的值是列表_python实现求和python如何通过列表中字典的值对列表进行排序...

    一. 按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} 1. sorted_x = sorted(x.iteritems(), key=operator.item ...

  7. python 列表加入_加入python中的列表列表

    慕虎7371278 这被称为展平,并且有很多实现:更多关于python flattenPython技巧在Python中展平列表这个怎么样,虽然它只适用于1级深度嵌套:>>> x =  ...

  8. python列表添加字符串_2.python基础之—列表,元组,字典,集合,字符串的使用方法...

    一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. ...

  9. python 定义list长度_python中list列表的高级函数 python如何统计列表的长度

    在python的函数中,如何将列表list的一部分作为函比如定义个函数,想实现的功能就是将列表a的后半部分(['c','d'])传入后面paraTestList(a[2:])中,括号里面的a[2:]命 ...

最新文章

  1. 超级 App 手机百度云端架构设计与个性化推荐
  2. AttributeError: ‘FPDF‘ object has no attribute ‘unifontsubset‘
  3. 【好书推荐】《Web全栈工程师的自我修养》
  4. Ghost的相关问题
  5. bash shell 循环读入每一行(转)
  6. concurrenthashmap_ConcurrentHashMap是如何保证线程安全的
  7. Evernote 全球开发者大赛最终入围作品介绍
  8. 计算机病毒教学评课,计算机病毒评课稿.docx
  9. python中的__init__ 、__new__、__call__等内置函数的剖析
  10. 计算机组成原理_在线作业1,电子科大《计算机组成原理》在线作业1
  11. 怎样制作文章视频gif插图?视频gif格式图片如何在线制作?
  12. On teaching mathematics--Arnold
  13. 8种 骨干级 架构设计模式 图示 分析 优缺点 总结
  14. xmapp 在Mac下配置
  15. C语言编程:密码解密
  16. WAP上网 AT+CGDCONT=1,IP,cmwap 命令详解
  17. 如何申请美国大学计算机科学研究生,申请美国计算机研究生院要求
  18. Photoneo 3D相机丨平行结构光的力量
  19. 启动Mac电脑为什么出现黑屏?
  20. AD2018快速设计想要尺寸的PCB板(AD2018如何修改PCB板子形状)

热门文章

  1. Linux文件操作命令(二)
  2. Intellij idea利用Statistic插件统计项目代码行数
  3. Git中上传忽略文件的方法 .gitignore
  4. STL(四)——map映射
  5. HDOJ-2036 求多边形面积
  6. java mq发送sdk_【转载】java实现rabbitmq消息的发送接受
  7. 伪数组转化真数组_ES6 数组方法
  8. delphi7 安装delphi 5 delphi 6控件
  9. Java 开源企业信息化建设平台 O2OA 入选码云 GVP 项目
  10. OneMap Client API