二分查找,需要先排序
def binary_search(li,val): left = 0 right = len(li)-1 while left <= right: mid = (left+right) // 2 if li[mid] == val: return mid elif li[mid] > val: right = mid -1 else: left = mid + 1 return None li = [1,2,5,3,7] li.sort() print("li=",li) ix = binary_search(li,3) print("ix=",ix)