Python: 如何复制一个列表

3

如何复制一个列表,以便我可以编辑副本而不影响原始列表。例如:

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]

那么我如何在保持原始变量不变的情况下制作变量的副本?

提前感谢,

Eric


在Python 3.x中,y = x.copy()是怎么样的? - Willem Van Onsem
new_list = copy.copy(old_list) and also from copy import copy - ᴀʀᴍᴀɴ
2个回答

2
只需在声明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]

1
在这种情况下,您可以使用以下代码:

您可以在此情况下使用:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接