二分查找:
首先确定找到中间那个数字的地址,
判断中间值的地址的值和我们输入的值是不是相同的,相同输出
def binary_search(list, number): low_address = 0 high_address = len(list) - 1 while(low_address <= high_address): mid_address = (low_address + high_address)/2 true_number = list[mid_address] if true_number == number: return mid_address if true_number > number: high_address = mid_address - 1 else: low_address = mid_address + 1 if __name__ == '__main__': list = [1,2,3,4,5,6,7,8,9,10] print(binary_search(list, 2))
不相同,如果输入值大于中间值则low = mid + 1,如果输入值小于中间值则high = mid - 1