流畅的python笔记2.2 列表推导式和生成器表达式
来源:互联网 发布:xp中windows设置在哪 编辑:程序博客网 时间:2024/06/05 01:09
1.列表推导式
#coding=utf-8\colors = ['black', 'white']sizes = ['S', 'M', 'L']tshirts = [(color, size) for color in colors for size in sizes]print(tshirts)当列表推导式中有多个for时,按如下顺序生成列表:
[('black', 'S'), ('black', 'M'), ('black', 'L'), ('white', 'S'), ('white', 'M'), ('white', 'L')]
生成器表达式和列表推导的语法相似,只不过把方括号换成圆括号。
#coding=utf-8\colors = ['black', 'white']sizes = ['S', 'M', 'L']tshirts = ((color, size) for color in colors for size in sizes)print(tshirts)此时的输出不是一个列表,不是一个元组,而是一个可迭代的生成器对象,所以可以节省内存:
输出:
<generator object <genexpr> at 0x0000014950967360>
#coding=utf-8\colors = ['black', 'white']sizes = ['S', 'M', 'L']tshirts = tuple((color, size) for color in colors for size in sizes)print(tshirts)结果:
(('black', 'S'), ('black', 'M'), ('black', 'L'), ('white', 'S'), ('white', 'M'), ('white', 'L'))
生成器表达式从来不会开辟一块内存来存储列表或元组,从而可以节省内存开销:
#coding=utf-8\colors = ['black', 'white']sizes = ['S', 'M', 'L']for tshirt in ('%s %s'%(c, s) for c in colors for s in sizes): print(tshirt)输出:
black Sblack Mblack Lwhite Swhite Mwhite L
阅读全文
0 0
- 流畅的python笔记2.2 列表推导式和生成器表达式
- Python列表推导式和生成器表达式
- python 列表推导和生成器表达式
- Python中的列表推导和生成器表达式的使用
- Python的列表推导式、迭代器、生成器
- Python学习(二): 列表推导式与生成器表达式
- Python列表推导式、字典推导式、生成器示例
- Python语言学习讲解十一:生成器表达式改写较大的列表推导
- python 列表表达式和生成器表达式
- [转]Python里有趣的列表解析和生成器表达式
- Python里有趣的列表解析和生成器表达式
- 深入理解python的生成器表达式和列表解析
- 004_002 Python 列表推导 列表函数调用 生成器表达式 生成列表
- Python 列表解析和生成器表达式
- Python 列表解析和生成器表达式
- python 中的列表解析和生成器表达式
- Python列表解析和生成器表达式
- Python的列表推导式
- MySQL优化技巧
- 津津的储蓄计划
- Shiro登录框架运用
- zabbix3.2.7升级到zabbix3.4.1
- 在Eclipse中测试MySQL-JDBC(9)statement 批处理(同时执行多条sql语句)
- 流畅的python笔记2.2 列表推导式和生成器表达式
- Alibaba 开源框架dubbo简介
- MySql安装后登陆异常问题总结
- 京东笔试题2:求括号匹配数目
- Ajax浅析+Ajax实操—Java EE Struts2 篇
- 链表和树
- nginx负载均衡
- Java设计模式之单例模式
- PHP垃圾回收机制