起点后如何找到最小值的指标?

时间:2020-04-29 02:23:51

标签: python

我有一个list = [5,2,3,10,1,10,5,6,5,8,10]

我想找到特定点之后的最小值的索引。

例如,如果要在索引1之后找到最小值的索引,则索引1为2,这意味着最小值为1,即索引4。

我想像def find_min(lst, index)那样编码,其中lst是我的列表,index是起点。

也需要解释。

3 个答案:

答案 0 :(得分:2)

您要求的格式的功能

def find_min(lst, index):
   list_to_check = lst[index:]  # creating a list list_to_check with only elements starting from given index to last element
   min_value = min(list_to_check)   # found the minimum value in the new list list_to_check
   return (list_to_check.index(min_value)+index) # list_to_check.index(min_value) gives the index of the minimum value in new list list_to_check. Since index from old list is needed, we add it with index

答案 1 :(得分:0)

使用min找出最小值,然后使用索引获取索引

values = [5,2,3,10,1,10,5,6,5,8,10]
afterThisPoint = 1
m = values[afterThisPoint+1:].index(min(values[afterThisPoint+1:]))
print(m+afterThisPoint+1)
4

答案 2 :(得分:0)

您可以在索引范围内使用min函数,并间接使用最小值列表。这将在单次通过数据时产生结果(与计算最小值并在列表中搜索相反):

def iMinAfter(aList,index):
    return min(range(index+1,len(aList)),key=lambda i:aList[i]) 

myList = [5,2,3,10,1,10,5,6,5,8,10]

print( iMinAfter(myList,1) ) # 4