def bSearch(lst,Val):
def _binarySearch(lst, Low, High, Target):
if Low > High:
return -1
Mid = (Low + High) // 2 #求序列中间位置
if Target == lst[Mid]:
return Mid
elif Target < lst[Mid]: #如目标值小于中间元素,在左半部分查找
return _binarySearch(lst, Low, Mid - 1, Target)
else: #如目标值大于中间元素,在右半部分查找
return _binarySearch(lst, Mid + 1, High, Target)
return _binarySearch(lst,0,len(lst),Val)