擅长:python、mysql、java
<p>您可以在这里使用普通的交换技术(<code>x,y = y,x</code>),但前提是以正确的顺序执行交换:<code>x</code>必须是第二个(最右边)片,而{<cd3>}是第一个(最左边)片。在</p>
<pre><code>>>> my_list=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> my_list[7:10], my_list[2:4] = my_list[2:4], my_list[7:10]
>>> my_list
[0, 1, 7, 8, 9, 4, 5, 6, 2, 3, 10, 11, 12]
</code></pre>
<p>这是因为它将首先分配给<code>my_list[7:10]</code>,然后才分配给<code>my_list[2:4]</code>。在</p>
<p>如果以相反的顺序执行此操作,则首先分配给<code>my_list[2:4]</code>将更改右侧项的位置,因为子列表具有不同的长度,这将导致错误的结果。在</p>
<p>性能方面,这可能比代码快,也可能不比代码快:这可能取决于列表和片的长度。您必须在典型的用例上测试它才能看到。在</p>