1.二分查找(折半查找)
def binary_search(li,val): left = 0 right = len(li)-1 # 表示索引 while left <= right: mid = int((left + right)/2) if val == li[mid]: return mid # 返回索引 elif val < li[mid]: right = mid-1 elif val > li[mid]: left = mid + 1 else: return None li = [1,2,3,4,5,6,7,8,9] print(binary_search(li, 9))
输出结果:8