2017-02-14 325 views
0

如何创建列表副本,以便我可以编辑副本而不影响原始副本。例如:Python:创建列表副本

x = [1., 2., 3., 4.] 
y = x 
y[0] = 9. 

输出是:

x: [9.0, 2.0, 3.0, 4.0] 
y: [9.0, 2.0, 3.0, 4.0] 

当我想X是:

x: [1.0, 2.0, 3.0, 4.0] 

那么,如何使一个变量的副本,同时保持原有不变?

由于提前,

埃里克

+0

怎么样'Y = x.copy()'在python-3.x中... –

+0

'new_list = copy.copy(old_list)'和'也从副本进口copy' – Arman

回答

0

可以,在这种情况下,使用:

x = [1., 2., 3., 4.] 
y = x[:] 
y[0] = 9. 

输出x和y:

[1.0, 2.0, 3.0, 4.0] 
[9.0, 2.0, 3.0, 4.0] 

不过看了this

0

当声明y和它的工作时,只需用python的列表函数包装x!

x = [1, 2, 3, 4] 
y = list(x) 
y[0] = 9 

print x 
print y 

#This prints the following 
#[1, 2, 3, 4] 
#[9, 2, 3, 4]