列表推导:python2和python3中作用域的问题

Posted xiangxiaolin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表推导:python2和python3中作用域的问题相关的知识,希望对你有一定的参考价值。

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 的值被保留了。
列表推导也创建了正确的列表。

以上是关于列表推导:python2和python3中作用域的问题的主要内容,如果未能解决你的问题,请参考以下文章

python3 map,filter和列表推导式

Python2与Python3的区别收集

为啥列表推导会影响外部变量的值? [复制]

day14,列表推导式,生成器表达式,内置函数

range方法在Python2和Python3中的不同

流畅的python第二章序列构成的数组学习记录