擅长:python、mysql、java
<p>奇怪的是,它不应该改变:</p>
<pre><code>>>> a=[1,4,5,7,22,41,4,-5,66,22,12]
>>> c=a[:]
>>> a.sort()
>>> a
[-5, 1, 4, 4, 5, 7, 12, 22, 22, 41, 66]
>>> c
[1, 4, 5, 7, 22, 41, 4, -5, 66, 22, 12]
</code></pre>
<p>您也可以尝试用<code>c = list(a)</code>来实现这一点。在这两种情况下,都是按值而不是按引用复制数组。你知道吗</p>
<p>不过,您应该知道,这两种方法对于可变对象的集合有限制,因为内部对象保持其引用完好无损。因此,如果您想要完整的副本,可以使用<a href="https://docs.python.org/3/library/copy.html" rel="nofollow noreferrer">copy.deepcopy</a>并按如下方式使用:</p>
<pre><code>>>> from copy import deepcopy
>>> a = [[1,2],[3],[4]]
>>> c = deepcopy(a)
</code></pre>