python2和python3关于列表推导的差异

看下面两个例子:python

python2的环境:列表中的同名变量名被替换了blog

>>> x = 'my precious'
>>> dummy = [x for x in 'ABC']
>>> dummy
['A', 'B', 'C']
>>> x
'C'

python3:列表中的同名变量名没有被替换ci

>>> x = 'ABC'
>>> dummy = [ord(x) for x in x]
>>> x
'ABC'
>>> dummy
[65, 66, 67]

 

总结:在python3环境,对于列表推导、生成器表达式、字典推导、set推导,python3会维护本身的局部变量,局部变量不会影响上下同名的变量;io

相关文章
相关标签/搜索