Python2中的列表推导式存在变量泄漏问题,在Python3中不存在

Posted Rocinante

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python2中的列表推导式存在变量泄漏问题,在Python3中不存在相关的知识,希望对你有一定的参考价值。

列表推导式(list comprehension)

Python2:

>>> x = \'my homie\'
>>> dummy = [x for x in \'ABC\']
>>> x
\'C\'

Python2中for关键词之后的赋值操作可能会影响context中的同名变量。Python3不存在此问题。

Python3:

  1. 原本context中的变量x的值被保留了。
  2. 列表推导式也创建了正确的列表。

以上是关于Python2中的列表推导式存在变量泄漏问题,在Python3中不存在的主要内容,如果未能解决你的问题,请参考以下文章

Python—推导式

[转] python中的推导式(列表推导式,字典推导式, 集合推导式)

列表推导中定义的变量是不是会泄漏到封闭范围内? [复制]

python的各种推导式(列表推导式字典推导式集合推导式)

Python常见数据结构-推导式

python的列表推导式字典推导式集合推导式