我有如下代码,当我打印 list1 和 list2 时,它显示相同的元素,但我在将现有 list1 分配给 list2 之后添加了 9,因此它不应在 list2 中显示 9。
list1=[1,2,3,4]
list2=list1
list1.insert(4,9)
print(list1)
print(list2)
请解开我的疑惑。
最佳答案
在 python 中,变量名是对基础变量的引用。 list1
和 list2
都引用同一个列表,因此当您将 9
插入该列表时,您会看到两者都发生了变化。如果您希望它们不同,则需要进行显式复制(使用 the copy
module、切片符号 list2 = list1[:]
或其他方法)。
关于python - python中的列表赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47986224/