python2中:
x = 'my love'dummy = [x for x in 'ABC']print x
此时x打印为:'C'
python3中:
x = 'my love'dummy = [x for x in 'ABC']print(x)
此时x打印为:'my love'
在 Python 3 中都有了自己的局部作用域,就像函数似的。表达式内部的变量和赋值只在局部起作用,表达式的上下文里的同名变量还可以被正常引用,局部变量并不会影响到它们。
在python3中:
x = 'my love'dummy1 = [ord(x) for x in x]print(x)print(dummy1)
x 的值被保留了。
列表推导也创建了正确的列表。