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

时间:2023-03-09 15:42:28
Python - 列表解析式/生成器表达式

列表生成式:

[expr for iter_var in iterable if cond_expr]

生成器表达式:

(expr for iter_var in iterable if cond_expr)

  

二者的区别:

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

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