为什么 linear_search 函数不能正常工作?
Why linear_search function do not work correctly?
为什么此代码仅在 target==theFirstElement 时有效?它 return None 即使 target==5 或列表中的任何其他元素。
def linear_search(lista, target):
for i in range(8):
if lista[i]==target:
return i
return None
def verify(index):
if index is not None:
print("Target found at index:", index)
else:
print ("Target not found in list")
numbers =[1,2,3,4,5,6,7,8]
result=linear_search(numbers, 4)
verify(result)
您的代码有一个错误:您应该 return None
只有在 for 循环完成并且您访问了所有元素后:
def linear_search(lista, target):
for i, elem in enumerate(lista):
if elem == target:
return i
# if you don't find the target return None
return None
如果您想知道是否可以在列表中找到某个特定值,并且您想要找到它所在位置的索引,那么您可以这样做:
def linear_search(lista, target):
try:
return lista.index(target)
except ValueError:
pass
此函数将 return 给定列表中目标值的索引或 None 未找到的索引
为什么此代码仅在 target==theFirstElement 时有效?它 return None 即使 target==5 或列表中的任何其他元素。
def linear_search(lista, target):
for i in range(8):
if lista[i]==target:
return i
return None
def verify(index):
if index is not None:
print("Target found at index:", index)
else:
print ("Target not found in list")
numbers =[1,2,3,4,5,6,7,8]
result=linear_search(numbers, 4)
verify(result)
您的代码有一个错误:您应该 return None
只有在 for 循环完成并且您访问了所有元素后:
def linear_search(lista, target):
for i, elem in enumerate(lista):
if elem == target:
return i
# if you don't find the target return None
return None
如果您想知道是否可以在列表中找到某个特定值,并且您想要找到它所在位置的索引,那么您可以这样做:
def linear_search(lista, target):
try:
return lista.index(target)
except ValueError:
pass
此函数将 return 给定列表中目标值的索引或 None 未找到的索引