Python中的列表赋值问题:改变一个列表时,另一个列表不改变

  • Post author:
  • Post category:python


今天写代码题遇到的问题如下:

temp = [1,2,3]
list1 = temp
temp.append(4)
print(list1)

输出的结果是:

list1 = [1,2,3,4]

运行后发现明明改变的是temp,但list1也跟着temp一起变了。通过查找资料才知道,当list1 = temp这句代码执行后,list1和temp已经是指向同一个列表所以后对temp做改变就相当于对list1做改变。

如果想要只是把temp值赋给list1,改变其中一个列表时不会改变另一个列表的值,可以这样做:

temp = [1,2,3]
list1 = temp[:]
temp.append(4)
print(list1)

这样输出的结果就是:

list1 = [1,2,3]



版权声明:本文为qq_45789906原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。