基于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的Houdini插件开发过程详情

    基于Python的Houdini插件开发过程详情

    这篇文章主要介绍了基于Python的Houdini插件开发过程详情,Houdini是基于QT进行的开发,支持 Python、HScript二种脚本进行插件开发,下面文章介绍内容,需要的朋友可以参考一下
    2022-02-02
  • Python实现信息轰炸工具(再也不怕说不过别人了)

    Python实现信息轰炸工具(再也不怕说不过别人了)

    不知道各位小伙伴有没有遇到过这样的一个故事,发现自己直接喷不过,打字速度不够给力.下面这篇文章就能解决自己喷不过的苦恼,话不多说,上才艺,需要的朋友可以参考下
    2021-06-06
  • python opencv之SURF算法示例

    python opencv之SURF算法示例

    这篇文章主要介绍了python opencv之SURF算法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • django 数据库返回queryset实现封装为字典

    django 数据库返回queryset实现封装为字典

    这篇文章主要介绍了django 数据库返回queryset实现封装为字典,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 深度学习详解之初试机器学习

    深度学习详解之初试机器学习

    机器学习可应用在各个方面,本篇将在系统性进入机器学习方向前,初步认识机器学习,利用线性回归预测波士顿房价,让我们一起来看看吧
    2021-04-04
  • 60行Python PyGame代码实现简单的迷宫游戏

    60行Python PyGame代码实现简单的迷宫游戏

    这篇文章主要为大家详细介绍如何通过了60行Python PyGame代码实现一个简单的迷宫游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2023-12-12
  • 关于numpy.polyfit()与Stats.linregress()方法最小二乘近似拟合斜率对比

    关于numpy.polyfit()与Stats.linregress()方法最小二乘近似拟合斜率对比

    这篇文章主要介绍了关于numpy.polyfit()与Stats.linregress()方法最小二乘近似拟合斜率对比,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 用Python3通过PyCharm上传代码到Git服务器的详细过程

    用Python3通过PyCharm上传代码到Git服务器的详细过程

    上传代码到服务器,如果不知道的情况下还用传统的方式上传很麻烦,现在很多IDE都提供上传代码的功能,例如:VSCode,PyCharm等等,本文讲解的是PyCharm,需要的朋友可以参考下
    2024-03-03
  • 一文掌握Python爬虫XPath语法

    一文掌握Python爬虫XPath语法

    这篇文章主要介绍了一文掌握Python爬虫XPath语法,xpath是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历,XPath 通过使用路径表达式来选取 XML 文档中的节点或者节点集。下面会更学习的介绍,需要的朋友可以参考一下
    2021-11-11
  • 总结Python函数参数的六种类型

    总结Python函数参数的六种类型

    这篇文章主要总结了Python函数参数的六种类型,传递参数实现不同场景的灵活使用,下面总结的六种函数参数类型,需要的小伙伴可以参考一下
    2022-03-03

最新评论