二维列表被覆盖

时间:2021-03-19 14:43:03

标签: python list

import numpy as np

ulist = [] 

npts    = 10
maxiter = 4
x = np.linspace(1,10,npts)
x = x.tolist()

ulist.append(x)


i = 0
dt = 0.25

while i < maxiter:

    for j in range (npts):
        x[j] = x[j] - dt

    ulist.append(x)

    print('Values of x: ')
    print(x)
    print('Values of ulist: ')
    print(ulist[i][:])
    print()
    print()

    i += 1


print('------------This is after the while loop---------')
print('Values of x: ')
print(x)
for i in range(maxiter):
    print('Values of ulist: ')
    print(ulist[i][:])
    print()
    print()

在上面用python编写的代码中,我想修改列表“x”并继续将其附加到二维列表“ulist”。当我在 while 循环中打印 x 和 ulist[i][:] 时,我得到两者相同。但是当我尝试在 while 循环之外打印它时,x 的最后一个条目被复制到 ulist 中的所有列表。我不知道发生了什么。有人可以解释一下吗?

0 个答案:

没有答案