Skip to main content
 首页 » 编程设计

python之用负数计算列表中的绝对最小值

2025年05月04日8leader

我有一个这样的列表-

list=[137,136,135,134,119,118,-14,-89,-208,-291,-491,-513,-596,-699] 

现在我想计算列表中的最小数字而不考虑符号,但在最终答案中应该保留符号。

例如这里的答案是 -14。

现在我首先将列表拆分为正数和负数并分别计算最小值和最大值,然后比较绝对值并返回答案。

请您参考如下方法:

您可以使用 min()使用 key 参数的函数:

>>> lst = [137,136,135,134,119,118,-14,-89,-208,-291,-491,-513,-596,-699] 
>>> min(lst, key=abs) 
-14 

如果多个项目是“最小的”(例如 -14 和 14),这将返回遇到的第一个。如果您需要处理平局,您可以使用元组作为键,例如:

>>> lst = [14,137,136,135,134,119,118,-14,-89,-208,-291,-491,-513,-596,-699] 
>>> min(lst, key=lambda x: (abs(x), x)) 
-14