擅长:python、mysql、java
<p>你需要做:</p>
<pre><code>asc = arr.copy()
# or asc = arr[:]
</code></pre>
<p>或者,当<code>arr</code>被反向排序时,<code>asc</code>也会发生变化。<code>asc</code>是指向数组的指针,当<code>arr</code>更改时,<code>asc</code>更改。更好的方法是,创建一个<code>arr</code>的副本,这样更改就不会反射回来。
</p><hr/>
您编写的整个代码可以浓缩为以下两行:
<pre><code>arr = [2,1,3,4,5]
print(sum(sorted(arr)[:4])) # 10
print(sum(sorted(arr, reverse=True)[:4])) # 14
# Or print(sum(sorted(arr)[-4:])) instead of the last print.
</code></pre>