gpt4 book ai didi

python - 为什么将列表元素分配给变量在这里以不同的方式工作?

转载 作者:行者123 更新时间:2023-11-28 19:41:33 25 4
gpt4 key购买 nike

我有这段代码:

lst = [[1,1], [2,1],[3,1]]
n = len(lst)
head = lst[n - 1]

head[0] += 1

lst.append(head)
del lst[0]

print(lst)

我期待这段代码打印:[[2,1], [3,1], [4,1]]但它正在打印:[[2, 1], [4, 1], [4, 1]].我不明白为什么。请帮助我。

最佳答案

当您编写 head = lst[n - 1] 时,通过引用将 head 设置为 lst 的最后一个元素。这意味着具有值 [3,1] 的对由两个变量共享。如果您不想更改原始列表中的对,请确保 head 复制数据。

head = lst[n - 1].copy()

关于python - 为什么将列表元素分配给变量在这里以不同的方式工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57646502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com