python中使用迭代器时,实际上是视图view

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29007291/article/details/82968305

好奇python用for进行循环时,里面的循环变量是copy还是view,所以测试一下,最终发现是view,也就是修改循环变量,会改变原始变量(意料之中)


a = [["ni"], ["hao"]]
print("before: ", a)

for i in a:
    i[0] = i[0] + "_1"
print("after:  ", a)

"""输出结果如下
before:  [['ni'], ['hao']]
after:   [['ni_1'], ['hao_1']]
"""

可以看到,改变循环变量也就改变了原始变量。

猜你喜欢

转载自blog.csdn.net/qq_29007291/article/details/82968305