x=[0]
y=[0]
while True:
y=x
x[0]+=1
print (y,x)
input()
按Enter键显示[1] [1]; [2] [2]; [3] [3] ……但我需要将列表的先前状态保存在变量中:[0] [1]; [1] [2]; [2] [3] ……
代码应该是什么?
解决方法:
您需要复制值而不是引用,您可以这样做:
y=x[:]
代替
y = x
您也可以使用copy lib:
import copy
new_list = copy.copy(old_list)
如果列表包含对象并且您也想要复制它们,请使用泛型copy.deepcopy()
new_list = copy.deepcopy(old_list)
在python 3.x中你可以这样做:
newlist = old_list.copy()
你也可以在丑陋的模式下做:)
new_list = list(''.join(my_list))
标签:python,variables,list