2017-02-14 190 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]