
二分查找,给出一个已经排好序的列表,注意是已经排好序的,查找指定元素在列表中的位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
import math
def (my_list, item): """从list中查找item""" low = 0 high = len(my_list) - 1
while low <= high: mid = math.floor((low + high)/2) guess = my_list[mid] if guess > item: high = mid - 1 elif guess < item: low = mid + 1 else: return mid return None
my_list = [1,3,5,7,9] item = 1 print(binary_search(my_list, item))
|
近期评论