擅长:python、mysql、java
<p>你使用了key=lambda x:(-abs(x),x)这意味着与max相反,这就是为什么它没有得到尽可能大的数,而是给出了最小的数。注意,如果有+-相同的数字,那么max将得到的总是正数,因为它的abs()</p>
<pre><code>print(max([1, -2, 3, -1], key=lambda x:(-abs(x), x), default=0))
print(max([1, -2, 3, -1], key=lambda x:(abs(x), x), default=0))
print(max([-2, 3, 4, 5], key=lambda x:(-abs(x), x), default=0))
results:
1
3
-2
</code></pre>