列表解析:

l = [i**2 for i in range(4)]

result: l = [0,1,4,9]

生成器:

l = (i**2 for i in range(4))

result: l = <generator object <genexpr> at 0x0000000003512B88>

生成器的方法在效率上更高,但是生成器的迭代是不可回溯的。比如,在for迭代访问生成器之后,想要再次for循环访问时,生成器l就是空的了,l.next()也会抛出异常。

另外,生成器时没有下标的,但是可以通过enumerate(l) 来返回由(index,value)这样的元祖组成的enumerate类型的变量,enumerate类型也是可迭代的,但是和生成器一样,是不能回溯的,单向迭代。

转载于:https://www.cnblogs.com/ethanchou/p/3319028.html

Python 生成器与列表解析相关推荐

  1. Python基础(8)_迭代器、生成器、列表解析

    一.迭代器 1.什么是迭代 1 重复 2 下次重复一定是基于上一次的结果而来 1 l=[1,2,3,4] 2 count=0 3 while count < len(l): 4 print(l[ ...

  2. Python-各种结构解析以及生成器(列表解析,字典解析,集合解析,元组构成的生成器)

    1.列表解析: 举例:生成一个列表,元素0-9,对每一个元素自增1后求平方返回新列表. test = [ (i + 1) ** 2 for i in range(10)] print(test) # ...

  3. Python开发——函数【迭代器、生成器、三元表达式、列表解析】

    递归和迭代 小明问路篇解释说明 递归:小明-->小红-->小于-->小东:小东-->小于-->小红-->小明 小明向小红问路,因小红不知道,所以向小于问路,因小于不 ...

  4. Python(五)之迭代器和列表解析

    Python迭代器和列表解析 迭代器 例如:In [1]: l1 = [1,2,3,4,5]dir(i1)可以看到内置方法'__iter__'生成一个迭代器:l1.__iter__,或i2 = ite ...

  5. 三元表达式,列表解析和生成器表达式

    三元表达式 在以前,在诸如比较两个数大小的时候,通常的写法都是下面的样子 if x > y:print("the max is x") else:print("th ...

  6. 彻底理解Python生成器和迭代器

    目录 1.列表生成式 2.生成器 3.迭代器 4.对yield的总结 5.补充:itertools库学习 1.列表生成式 首先举个例子 现在有个需求,看列表 [0,1,2,3,4,5,6,7,8,9] ...

  7. Python生成器与迭代器详细教程

    一.列表生成器 首先举个例子 现在有个需求,看列表 [0,1,2,3,4,5,6,7,8,9],要求你把列表里面的每个值加1,你怎么实现呢? 方法一(简单): info = [0, 1, 2, 3, ...

  8. 第4.2节 神秘而强大的Python生成器精讲

    一. 生成器(generator)概念 生成器是一个特殊的迭代器,它保存的是算法,每次调用next()或send()就计算出下一个元素的值,直到计算出最后一个元素,没有更多的元素时,抛出StopIte ...

  9. python天天向上代码解析-python列表解析和生成器表达式

    列表解析在需要改变列表而不是需要新建某列表时,可以使用列表解析.列表解析表达式为: [expr for iter_var in iterable] [expr for iter_var in iter ...

最新文章

  1. C# GDI+ 简单绘图 (三) 仿浏览器截屏效果
  2. webpack学习(1)
  3. Linux进程间通信二 System V 消息队列简介与示例
  4. Android Apk增量更新
  5. WeChat微信小程序网易云音乐播放链接方法
  6. 使用ASP.NET Core 实现Docker的HealthCheck指令
  7. std::vector 从大到小排序
  8. Guava 实用操作集合
  9. 关于Go程序错误处理的一些建议
  10. Android 驱动(10)----设备树(二)linux内核顶层am335x-evm.dts
  11. 如何在Mac上添加密码提示?
  12. coturn源码解析
  13. Ubuntu常用软件下载
  14. cvc降噪和主动降噪_音频知识:CVC降噪和ANC主动降噪的区别和应用
  15. Hadoop3.2.1 【 HDFS 】源码分析 : Secondary Namenode解析
  16. mysql file direct_DirectAdmin的Mysql优化
  17. Java物流成本计算器
  18. 【报告分享】快手男性消费用户洞察-36Kr磁力引擎(附下载)
  19. 区块链行业领袖汇聚一堂,共同畅谈IEO
  20. Springboot3.0整合swagger,废弃Springfox改用Springdoc

热门文章

  1. nginx proxy_pass末尾神奇的/
  2. CentOS 修改线程数限制等(limits.conf)
  3. C算法--入门 2.3
  4. mysql text与blog的区别
  5. 05_通过sql操作表中的数据_插入修改删除查询
  6. Python学习笔记- Python threading模块
  7. 函数传参和实际应用—JS学习笔记2015-6-5(第49天)
  8. The Moving Points
  9. wampserver无法打开http://127.0.0.1/
  10. 东方卫视演得泰坦机器人_东方卫视《笑傲江湖4》今晚开播,郭德纲、陈赫过招喜剧新人,机器人脱口秀惊艳全场...