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']
生成器表达式与列表推导类似,只不过需要把[ ]换成( )