擅长:python、mysql、java
<h2>第一个问题:</h2>
<p>这就是原因:</p>
<pre><code>def swap(x,y):
x, y = y, x
</code></pre>
<p>这只是交换了当地的名字。<code>x</code>将等于<code>y</code>,反之亦然,但仅在该函数内部。在该功能(全局范围)之外,不会有任何变化。</p>
<hr/>
<h2>第二个问题(你真的应该避免在一个问题中问多个问题):</h2>
<p>假设:</p>
<pre><code>x = a[i]
y = a[n]
</code></pre>
<p>要交换列表中的值,必须设置它们:</p>
<pre><code>a[n] = x
a[i] = y
</code></pre>
<p>同:</p>
<pre><code>a[i], a[n] = y, x
</code></pre>
<p>由于<code>y = a[n]</code>和<code>x = a[i]</code>,它与:</p>
<pre><code>a[i], a[n] = a[n], a[i]
</code></pre>