嵌入while循环的for循环中的变量赋值

时间:2018-05-12 18:16:12

标签: python loops for-loop while-loop

我遇到了一段非常令人困惑的python代码如下:

V = 16*[0.1]

key = True
i = 0 

while key:
    delta = 0 
    V_origin = V
    for s in range(16):

        v = V[s]
        V[s] = V_origin[s] * 2
        delta = max(delta,abs(v - V[s]))

    if delta < 0.01:
        key = False 
    print(V, V_origin)

这段代码背后的逻辑是,我在for-for循环V和V_origin中有两个变量,其中V的值在for循环中改变。通过这种方式,当print (V,V_origin)在一起时,我认为它们的值会有所不同,因为V_origin在for循环中没有变化。然而,事实证明它们在宏循环中的每个循环的最终打印中是相同的,这意味着V_origin在中间被改变。我想知道为什么?我在循环结构上遗漏了什么吗?

0 个答案:

没有答案