《流畅的python》学习笔记 - 列表推导和生成器表达式

list comprehension 简称 listcomps
generator expression 简称 genexps

通常的规则:只用列表推导产生新列表

在python 3中,列表推导、生成器表达式以及集合推导(set comprehension)和字典推导,都有局部作用域,表达式内部的变量和赋值只在局部起作用,例如:

Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 03:13:28) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 'ABC'
>>> dummy = [x for x in 'ABC']
>>> x
'ABC'
>>> dummy
['A', 'B', 'C']
Python 2.7.15 (default, Nov 27 2018, 21:46:34) 
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 'ABC'
>>> dummy = [x for x in 'ABC']
>>> x
'C'
>>> dummy
['A', 'B', 'C']

生成器表达式与列表推导类似,只不过需要把[ ]换成( )

猜你喜欢

转载自blog.csdn.net/steventian72/article/details/85602946