小编ten*_*boy的帖子

更改浅复制中的列表元素

我有一个关于列表浅复制的问题。

在这两个示例中,我都修改了列表的一个元素,但在示例 1 中,列表b发生了更改,而在示例 2 中,列表d没有更改。我很困惑,因为在这两个示例中,我修改了列表的元素。

有什么不同?

示例1:

a=[1,2,[3,5],4]
b=list(a)
a[1]=0
print(a)   # [1, 0, [3, 5], 4]
print(b)   # [1, 2, [3, 5], 4]
Run Code Online (Sandbox Code Playgroud)

示例2:

c=[1,2,[3,5],4]
d=list(c)
c[2][0]=0
print(c)   # [1, 2, [0, 5], 4]
print(d)   # [1, 2, [0, 5], 4]
Run Code Online (Sandbox Code Playgroud)

python list shallow-copy

2
推荐指数
1
解决办法
1596
查看次数

标签 统计

list ×1

python ×1

shallow-copy ×1