您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

【Python有坑系列】列表推导和循环中的变量泄漏

5b51 2022/1/14 8:25:18 python 字数 1238 阅读 978 来源 www.jb51.cc/python

列表推导和循环中的变量泄漏 有个例子: i=0 a=[iforiinrange(3)] print(i)#Outputs2 python2中列表推导改变了i变量的值,而python3修复了这个问题:

概述

列表推导和循环中的变量泄漏
有个例子:

i = 0
a = [i for i in range(3)]
print(i) # Outputs 2

python2中列表推导改变了i变量的值,而python3修复了这个问题:

i = 0
a = [i for i in range(3)]
print(i) # Outputs 0

类似地,for循环对于它们的迭代变量没有私有的作用域

i = 0
for i in range(3):
    pass
print(i) # Outputs 2

这种行为发生在Python 2和Python 3中。

为了避免泄漏变量的问题,请在列表推导和for循环中使用新的变量。
--------------------- 
作者:piapiada 
来源:CSDN 
原文:https://blog.csdn.net/piapiada/article/details/77473437 
版权声明:本文为博主原创文章,转载请附上博文链接

总结

以上是编程之家为你收集整理的【Python有坑系列】列表推导和循环中的变量泄漏全部内容,希望文章能够帮你解决【Python有坑系列】列表推导和循环中的变量泄漏所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶