代码改变世界

Python - 列表生成式/生成器表达式

2017-03-11 15:00  abce  阅读(269)  评论(0编辑  收藏  举报

列表生成式:

[expr for iter_var in iterable if cond_expr]

 

生成器表达式:

(expr for iter_var in iterable if cond_expr)

  

二者的区别:

-列表生成式需要生成所有的数据;

-生成器解析式不是真正创建列表,而是返回一个生成器,这个生成器在每次计算出一个条目后,把这个条目yield出来。生成器表达式使用了延迟计算,在使用内存上更有效。