首页 > 解决方案 > 一个索引会在其他列表更新时自动更新

问题描述

每当我更新 时newnumber[index]number[index]即使我没有更新它也会更新。

这是我的代码以供进一步参考:

number = [1]
newnumber = [1]
row = int(input("Enter the desired number of rows: "))
for i in range(row):
    print("\n\nFor loop", i)
    print("The number: ", number)
    for i in range(len(number) - 1):
        newnumber[i+1] = number[i] + number[i+1]
        print("number",i, "is equal to", number[i])
        print("number",i + 1, "is equal to", number[i+1])
        print("newnumber",i + 1, "is equal to", newnumber[i+1])

    newnumber.append(number[0])
    print("The newnumber: ", newnumber)
    number = newnumber

我得到以下输出:

For loop 1
The number:  [1, 1]
number 0 is equal to 1
number 1 is equal to 2
newnumber 1 is equal to 2
The newnumber:  [1, 2, 1]

如您所见,我正在尝试newnumber[1]通过添加number[0]和来更新number[1]。但是,数字 1 也正在更新,因此给了我错误的输出。这是为什么?我在想,newnumber[1]并且number[1]以某种方式连接,因此当newnumber[1]更新时number[1]也会更新。

我是编程新手,发现 python 对新手更友好。我已经进行了研究,但发现更多的是复制整个列表,而不仅仅是特定的索引。

标签: pythonpython-3.x

解决方案


推荐阅读