如何找到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的解释,用于查找数组中的最小值和最大值