在python中查找数组最大元素的索引

在python中查找数组最大元素的索引,python,Python,我正试图用python编写一段代码来查找向量中最大元素的索引。我知道如果只有一个最大值,我可以使用“argmax”来找到答案,但是如果我有一个有两个最大值的向量呢?如果您要查找多个索引作为最大值: li = [2, 7, 3, 7] max_value = max(li) max_value_indices = [i for i, e in enumerate(li) if e == max_value] print(max_value_indexes) 对于单数情况: li = [2, 7,

我正试图用python编写一段代码来查找向量中最大元素的索引。我知道如果只有一个最大值,我可以使用“argmax”来找到答案,但是如果我有一个有两个最大值的向量呢?

如果您要查找多个索引作为最大值:

li = [2, 7, 3, 7]
max_value = max(li)
max_value_indices = [i for i, e in enumerate(li) if e == max_value]
print(max_value_indexes)
对于单数情况:

li = [2, 7, 3]
print(li.index(max(li)))

使用
np.where

a=np.array([1,2,3,3])

np.where(a==np.max(a))[0]

使用
np的解决方案。其中

import numpy as np

values = [1,6,3,4,5,6,6,5]

arr_values = np.array(values, copy=False)
indices= np.where(arr_values == max(arr_values))[0]

如果我正在寻找一种方法来处理一个未指定的向量,例如v,而不是一个给定的向量,我将如何定义这个向量?使用np.empty行吗?