擅长:python、mysql、java
<pre><code>z = spins
</code></pre>
<p>将两个名称放在同一对象上。这种情况在<code>num = old_num</code>中也会发生,但由于您永远无法在原地更改数字(它们是不可变的),所以<code>number = number * -1</code>之类的东西只会给<code>number * -1</code>一个标签<code>number</code>并删除旧的标签。</p>
<p>当你这样做的时候</p>
<pre><code>z[j] = ...
</code></pre>
<p>您更改的是z,而不是赋值,这就是为什么这会同时更改标记项的<em>和</em>的原因。你想做的是复印一份,你可以这样做:</p>
<pre><code>z = spins[:] # Traditional way
z = spins(spins) # Pragmatic way
z = spins.copy() # My favorite way
</code></pre>
<p>所有这些都同样有效。因为这是一个新项目,更改它不会影响原始项目。</p>