python 浅复制
In [10]: # 浅复制 In [11]: a = [1,3,5,[4,8]] In [12]: b = list(a) #创建一个a 的浅复制 In [13]: a is b Out[13]: False # a b 引用的不是一个位置 In [14]: a Out[14]: [1, 3, 5, [4, 8]] In [15]: b Out[15]: [1, 3, 5, [4, 8]] In [16]: a[3][0] = 100000 In [17]: a Out[17]: [1, 3, 5, [100000, 8]] In [18]: b Out[18]: [1, 3, 5, [100000, 8]] 浅复制将创建一个新的对象,但他包含的是对原始对象中包含的项的引用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
In
[
10
]
:
# 浅复制
In
[
11
]
:
a
=
[
1
,
3
,
5
,
[
4
,
8
]
]
In
[
12
]
:
b
=
list
(
a
)
#创建一个a 的浅复制
In
[
13
]
:
a
is
b
Out
[
13
]
:
False
# a b 引用的不是一个位置
In
[
14
]
:
a
Out
[
14
]
:
[
1
,
3
,
5
,
[
4
,
8
]
]
In
[
15
]
:
b
Out
[
15
]
:
[
1
,
3
,
5
,
[
4
,
8
]
]
In
[
16
]
:
a
[
3
]
[
0
]
=
100000
In
[
17
]
:
a
Out
[
17
]
:
[
1
,
3
,
5
,
[
100000
,
8
]
]
In
[
18
]
:
b
Out
[
18
]
:
[
1
,
3
,
5
,
[
100000
,
8
]
]
浅复制将创建一个新的对象
,但他包含的是对原始对象中包含的项的引用
|