
1、将中间标值mid的元素e取到数列中,进行查找元素key的比较。
2、如果相等查找成功,若不等,大于则只需在后半部分查找,小于则需在前半部分查找。
实例
defbinary_search(my_list,key):
left=0
right=len(my_list)
whileleft<=right:
mid=(right-left)//2
ifmy_list[left+mid]<key:
left=left+mid+1
elifmy_list[left+mid]>key:
right=left+mid-1
else:
returnleft+mid
return"None"
if__name__=="__main__":
my_list=[1,3,5,7,9,11,13]
print("二分查找的原始数列:",my_list)
print("二分查找的返回结果:",binary_search(my_list,3))
以上就是python二分查找的原理,希望对大家有所帮助。更多Python学习指路:Python基础教程