美文网首页
26. 将列表生成式中[]改成() 之后数据结构是否改变?

26. 将列表生成式中[]改成() 之后数据结构是否改变?

作者: vbuer | 来源:发表于2018-09-03 21:19 被阅读6次

从列表变为生成器

>>> L = [x*x for x in range(10)]
>>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x*x for x in range(10))
>>> g
<generator object <genexpr> at 0x0000028F8B774200>

通过列表生成式,可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含百万元素的列表,不仅是占用很大的内存空间,如:我们只需要访问前面的几个元素,后面大部分元素所占的空间都是浪费的。因此,没有必要创建完整的列表(节省大量内存空间)。在Python中,我们可以采用生成器:边循环,边计算的机制—>generator

相关文章

  • 26. 将列表生成式中[]改成() 之后数据结构是否改变?

    从列表变为生成器 通过列表生成式,可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包...

  • python 实现生成器的几种方式

    一、通过列表生成器来实现 和列表生成式使用相似,将两边的[]改成()即可创建生成器 使用时直接对生成器进行遍历即可...

  • 2018-06-14 Python生成器

    生成器 创建生成器的方法 1.列表生成式将中括号改成小括号 2.在def中使用yield关键字,不是创建方法,而是...

  • python生成式

    本篇将介绍Python的列表生成式,更多内容请参考:Python列表生成式 列表生成式即List Comprehe...

  • 第2模块第1章生成器

    列表成式不适合大的列表 要把一个列表生成式的[]改成(),就创建了一个generator: generator 只...

  • python高级基础

    生成器生成器就是一边循环一边执行可以减小内存压力生成器的两种方法第一种 将列表生成式进行修改 中括号改成小括号就好...

  • 第七章 数据结构

    数据结构 []返回list,()返回生成器 列表推导式 ​ 列表推导式提供了从序列创建列表的简单途径。 用 i...

  • python3 列表生成式,生成器generator和yield

    列表生成式,生成器,yield 概述 python中我们一定会用到列表。 有些有规律的列表我们可以使用列表生成式来...

  • 【Python】笔记7(生成器、迭代器)

    生成器(generator):相比于列表生成式(列表生成式是将所有的元素完整地罗列出来),生成器通过所保存的算法推...

  • Python之集合筛选

    如何在列表,字典,集合中根据条件筛选 核心:使用生成式 列表: 生成随机列表: 筛选方法: 字典: 生成字典: 筛...

网友评论

      本文标题:26. 将列表生成式中[]改成() 之后数据结构是否改变?

      本文链接:https://www.haomeiwen.com/subject/ixaniftx.html