我有一个list = [5,2,3,10,1,10,5,6,5,8,10]
我想找到特定点之后的最小值的索引。
例如,如果要在索引1之后找到最小值的索引,则索引1为2,这意味着最小值为1,即索引4。
我想像def find_min(lst, index)
那样编码,其中lst
是我的列表,index
是起点。
也需要解释。
答案 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