擅长:python、mysql、java
<p><code>arr_1[:] = ...</code>更改<code>arr_1</code>引用的现有列表对象的<em>元素</em>。</p>
<p><code>arr_1 = ...</code>使名称<code>arr_1</code>引用不同的列表对象</em>。</p>
<p>主要区别在于,如果某些<em>其他</em>名称也引用了原始列表对象,会发生什么情况。如果是这样,那么前者更新两个名称所指的内容;而后者更改一个名称所指的内容,而另一个名称则保留原来的内容。</p>
<pre><code>>>> a = [0]
>>> b = a
>>> a[:] = [1]
>>> print(b)
[1] <--- note, change reflected by a and b
>>> a = [2]
>>> print(b)
[1] <--- but now a points at something else, so no change to b
</code></pre>