擅长:python、mysql、java
<p>Python函数通常遵循两种约定:</p>
<ol>
<li>返回一个<em>新的</em>对象,保持参数不变</李>
<li>就地修改参数,并返回<code>None</code></李>
</ol>
<p>您的函数执行后者,并且应该省略<code>return</code>语句</p>
<pre><code>>>> x = [1, 2, 3, 4]
>>> swapPositions(x, 2, 3)
>>> x
[1, 2, 4, 3]
</code></pre>
<p>如果您选择前者,<code>x</code>应该不受影响</p>
<pre><code>def swapPositions(L, pos1, pos2):
L = L.copy()
L[pos1], L[pos2] = L[pos2], L[pos1]
return L
>>> x = [1, 2, 3, 4]
>>> swapPositions(list, 2, 3)
[1, 2, 4, 3]
>>> x
[1, 2, 3, 4]
</code></pre>