python中的引用和复制 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

对象引用

<code class="hljs python">>>> a = [1,2,3,4]>>> b = a>>> b is aTrue>>> b[2] = -100>>> b[1, 2, -100, 4]>>> a[1, 2, -100, 4]</code>

    a和b引用的是同一个对象,修改其中的一个将影响另一个,

python中的引用和复制

    对于像列表和字典这样的容器对象,可以使用浅复制和深复制。

浅复制

    浅复制可以创建一个新对象,包含的是对原始对象中包含的项的引用:

<code class="hljs python"><code class="hljs markdown">>>> a = [1, 2, [3, 4]]>>> b = list(a)>>> b is aFalse>>> b.append(100)>>> b[1, 2, [3, 4], 100]>>> a[1, 2, [3, 4]]>>> b[2][0] = -100>>> b[1, 2, [-100, 4], 100]>>> a[1, 2, [-100, 4]]</code></code>

深复制

<code class="hljs python"><code class="hljs markdown"><code class="hljs python">>>> import copy>>> a = [1,2,[3,4]]>>> b = copy.deepcopy(a)>>> a[1, 2, [3, 4]]>>> b[1, 2, [3, 4]]>>> a[1] = 7>>> a[1, 7, [3, 4]]>>> b[1, 2, [3, 4]]</code></code></code>

最新文章