二分查找速度比线性查找速度快
就是先从一半处开始查找,但是缺点就是,数据必须是按大小排列的
def binary_search(find_value, args): # 记录列表查找的范围 begin = 0 end = len(args) - 1 # 比较是否是要查找的数据 while begin <= end: # 计算中间的索引号 mid = (begin + end)//2 # 对二取整 if args[mid] == find_value: return mid elif args[mid] > find_value: end = mid-1 else: begin = m return -1 if __name__ == "__main__": nums = [1,2,3,4,5,6,7,8,9] print(binary_search(5, nums)