min 函数返回的值不是最小/最小 [重复]

Posted

技术标签:

【中文标题】min 函数返回的值不是最小/最小 [重复]【英文标题】:min function returning value that is not the smallest/least [duplicate] 【发布时间】:2020-06-07 17:56:21 【问题描述】:

我正在尝试获取列表中最小数字的索引,对此结果感到困惑.....

nums = [4,0,100]
smallest = min(enumerate(nums))
print("smallest = ", smallest)

打印输出: 最小 = (0,4)

不应该是: 最小 = (1,0)

【问题讨论】:

【参考方案1】:

您需要使用key=lambda x: x[1]) 来表示min 函数来检查第二个索引中存在的最小值,默认情况下它会检查第一个索引中的索引值。所以,它的结果是(0,4),这是显而易见的。

试试这个,

>>> min(enumerate(nums), key=lambda x: x[1])
(1, 0)

【讨论】:

以上是关于min 函数返回的值不是最小/最小 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 min_element() 返回最小元素的索引,而不是迭代器?

列表中多个最小元素的索引[重复]

C 找数组中最小的元数,找出最小数下标并返回,在主函数中打印最小数和下标?

返回与另一列中的最小值匹配的 ID 行 [重复]

获取列表/数组的最小值的问题

我可以使用 Python 的 Min 函数返回所有最小元组的列表吗?