def binary_search(li, val):
left = 0
right = len(li) - 1
while left <= right: # 候选区有值
mid = (right + left) // 2
if li[mid] == val:
return mid
elif li[mid] > val: # 查找得值 在mid的左侧
right = mid - 1
else:
left = mid + 1 # 查找得值在mid 的右侧
return None
原文:https://www.cnblogs.com/argos/p/14288618.html