如何找到int数组Python的最小值和最大值的索引[重复]

Posted

技术标签:

【中文标题】如何找到int数组Python的最小值和最大值的索引[重复]【英文标题】:how to find index of min and max value of a int array Python [duplicate] 【发布时间】:2018-10-22 05:01:49 【问题描述】:

您好,我想查找整数数组的最大值和最小值的第一个索引。

如果有重复值,我的代码会返回所有索引...

A= [1,1,8,7,5,9,6,9]
def minmaxloc(num_list):
  for i,y in enumerate(num_list):
    if y ==max(num_list) or y==min(num_list):
      print i
minmaxloc(A)

输出: 0 1 5 7

我想要什么: (0,5)

感谢您的帮助。

【问题讨论】:

import numpy as np; (np.argmin(A),np.argmax(A)) 您所指出的问题中的最佳答案并不是那么好,因为它可能会扫描阵列两次。第二个答案***.com/a/2474238/500207 在这方面更好。理想情况下,您可以在一次扫描中计算最大值和最小值,但 Python 或 Numpy 都没有提供 minmax :( 【参考方案1】:
def minmaxloc(num_list):
    return num_list.index(max(num_list)), num_list.index(min(num_list))

print(minmaxloc(a))

【讨论】:

【参考方案2】:

使用 numpy 的 argmin 和 argmax 方法:

import numpy as np
def minmaxloc(num_list):
    return np.argmin(num_list), np.argmax(num_list)
A= [1,1,8,7,5,9,6,9]
print(minmaxloc(A))

【讨论】:

感谢您的帮助!它工作正常但我想使用枚举 为什么投反对票?你能详细说明为什么需要枚举吗?似乎还有更多的故事。

以上是关于如何找到int数组Python的最小值和最大值的索引[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在文件处理中从文本文件中找到每一行的最小值和最大值?

显示用户输入的最小值和最大值并找到平均值

Integer.MAX_VALUE和Integer.MIN_VALUE的解释,用于查找数组中的最小值和最大值

在数组中查找最小值和最大值

如何将 jQuery UI 所有选定范围(不仅是最小值和最大值)加载到数组中

如何在二叉树中找到最小值和最大值