函数return第一个索引满足条件
Function return first index meets condition
我的函数在第一次满足条件时不会停止(列表中的最低值在 start_index 开始时开始)。我必须添加什么才能实现它。
我的代码是:
def index_min(l, start_index):
min_ele = l[start_index]
idx = []
for i in range(start_index, len(l)):
if l[i] <= min_ele:
min_ele = l[i]
idx = i
return idx
print(index_of_min([10, 7, 19, 16, 5, 10, 5, 1, 5, 4, 6, 2, 3, 7, 12, 8, 9, 18, 1, 10, 7, 18],6))
它 returns 索引 18 而不是索引 7
起始索引为 6.
我假设您打算在 print()
语句中调用 index_min()
。
如果您希望获得最小数字的首次出现,您可以将 <=
更改为 <
:
def index_min(l, start_index):
min_ele = l[start_index]
idx = []
for i in range(start_index, len(l)):
# If we see a value equal to the minimum seen so far, don't update the index.
if l[i] < min_ele:
min_ele = l[i]
idx = i
return idx
print(index_min([10, 7, 19, 16, 5, 10, 5, 1, 5, 4, 6, 2, 3, 7, 12, 8, 9, 18, 1, 10, 7, 18],6))
我的函数在第一次满足条件时不会停止(列表中的最低值在 start_index 开始时开始)。我必须添加什么才能实现它。 我的代码是:
def index_min(l, start_index):
min_ele = l[start_index]
idx = []
for i in range(start_index, len(l)):
if l[i] <= min_ele:
min_ele = l[i]
idx = i
return idx
print(index_of_min([10, 7, 19, 16, 5, 10, 5, 1, 5, 4, 6, 2, 3, 7, 12, 8, 9, 18, 1, 10, 7, 18],6))
它 returns 索引 18 而不是索引 7 起始索引为 6.
我假设您打算在 print()
语句中调用 index_min()
。
如果您希望获得最小数字的首次出现,您可以将 <=
更改为 <
:
def index_min(l, start_index):
min_ele = l[start_index]
idx = []
for i in range(start_index, len(l)):
# If we see a value equal to the minimum seen so far, don't update the index.
if l[i] < min_ele:
min_ele = l[i]
idx = i
return idx
print(index_min([10, 7, 19, 16, 5, 10, 5, 1, 5, 4, 6, 2, 3, 7, 12, 8, 9, 18, 1, 10, 7, 18],6))