查找:检查数组中是否存在某个值,如果存在,返回其索引。
ls = [10,22,43,55]
ls.index(22)
不用内置函数,手动实现二分查找。要求输入的列表是从小到大排好序的。
def binarysearch(ls, val):
#ls.sort()
lower = 0
upper = len(ls)-1
while lower<=upper:
mid = (lower+upper)//2
midval = ls[mid]
if midval>val:
upper = mid - 1
elif midval<val:
lower = mid + 1
else:
return mid
return "not exists"