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. 列表推导式也创建了正确的列表。
posted @ 2018-04-03 20:56  Rocin  阅读(246)  评论(0编辑  收藏  举报