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

 更新时间:2018年06月23日 10:43:26   作者:Shingle_  
今天小编就为大家分享一篇基于Python列表解析(列表推导式),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

[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的Flask框架标配模板引擎Jinja2的使用教程

    Python的Flask框架标配模板引擎Jinja2的使用教程

    Jinja2是Python世界的一款高人气template engine,是许多开源Web框架的选择,包括Flask这样的明星级项目,这里我们就来共同学习Python的Flask框架标配模板引擎Jinja2的使用教程
    2016-07-07
  • Django时区详解

    Django时区详解

    这篇文章主要介绍了Django时区详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • OpenCV自动给图片添加彩虹特效的实现示例

    OpenCV自动给图片添加彩虹特效的实现示例

    图像处理的学习往往都是要先熟悉下图像的一些基本处理方法,本文主要介绍了OpenCV自动给图片添加彩虹特效的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • python内置函数anext的具体使用

    python内置函数anext的具体使用

    本文主要介绍了python内置函数anext的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • python日期相关操作实例小结

    python日期相关操作实例小结

    这篇文章主要介绍了python日期相关操作,结合实例形式总结分析了Python针对日期时间的获取、转换、运算等相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • python读写csv文件的方法

    python读写csv文件的方法

    这篇文章主要介绍了python读写csv文件的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • python利用requests库模拟post请求时json的使用教程

    python利用requests库模拟post请求时json的使用教程

    这篇文章主要介绍了python利用requests库模拟post请求时json的使用 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • python如何进行基准测试

    python如何进行基准测试

    这篇文章主要介绍了python如何进行基准测试,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Python设计模式中单例模式的实现及在Tornado中的应用

    Python设计模式中单例模式的实现及在Tornado中的应用

    这篇文章主要介绍了Python设计模式中单例模式的实现及在Tornado中的应用,讲解了单例模式用于设计Tornado框架中的线程控制方面的相关问题,需要的朋友可以参考下
    2016-03-03
  • Python实现PS滤镜的万花筒效果示例

    Python实现PS滤镜的万花筒效果示例

    这篇文章主要介绍了Python实现PS滤镜的万花筒效果,结合实例形式分析了Python基于skimage模块操作图片实现PS滤镜万花筒效果的原理与相关操作技巧,需要的朋友可以参考下
    2018-01-01

最新评论