我写此代码为简单的线性搜索:线性搜索的列表?
def floor(array, target):
i = 0
while i < len(array):
if array[i] == target:
print("The target value can be found at index: " + str(array[i]))
break
else:
i = i + 1
floor([1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14], 5)
我遇到的问题是,它不返回我想要的值。由于某些原因,它不会从0开始计数,所以当我制作目标1时,它会告诉我索引是1.同样,如果我制作目标4,它会在索引4处给我第二个值4,而不是一个在索引3处。即使目标是更高的数字,它似乎也只计算一次4的值。我不知道我做错了什么,任何人都可以提供一些建议?
以供将来参考,对于列出了内置的“指数”的方法可以为你做到这一点。例如,[4,8,15,16,23,42] .index(15)return 2. –