Python中浅拷贝的三种实现形式

时间:2026-02-14 17:40:01

1、打开电脑运行,输入‘cmd’进入命令行窗口,输入‘python’

Python中浅拷贝的三种实现形式

2、定义a列表,通过工厂模式浅拷贝b列表,代码如下:

>>> a=[1,2,[1,2]]

>>> b=list(a)

>>> [x for x in a]

[1, 2, [1, 2]]

>>> [x for x in b]

[1, 2, [1, 2]]

>>> [id(x) for x in a]

[1575119888, 1575119920, 38676616]

>>> [id(x) for x in b]

[1575119888, 1575119920, 38676616]

>>>

Python中浅拷贝的三种实现形式

3、通过赋值或切片方式:

>>> c = a   或 c=a[:]或c=[i for i in a]

>>> [id(x) for x in a]

[1575119888, 1575119920, 38676616]

>>> [id(x) for x in c]

[1575119888, 1575119920, 38676616]

>>>

Python中浅拷贝的三种实现形式

4、通过copy函数,代码如下:

>>> import copy

>>> d = copy.copy(a)

>>> [id(x) for x in a]

[1575119888, 1575119920, 38676616]

>>> [id(x) for x in d]

[1575119888, 1575119920, 38676616]

>>>

Python中浅拷贝的三种实现形式

5、以上就是三种浅拷贝的方法,增加一个嵌套列表中的元素,会影响两个。

>>> a[2].append(3)

>>> a

[1, 2, [1, 2, 3]]

>>> b

[1, 2, [1, 2, 3]]

>>>

Python中浅拷贝的三种实现形式

6、改变外层列表只影响自己,代码如下:

>>> a.append(4)

>>> a

[1, 2, [1, 2, 3], 4]

>>> b

[1, 2, [1, 2, 3]]

>>>

Python中浅拷贝的三种实现形式

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com