算法图解1.2二分查找报TypeError: list indices must be integers or slices, not float解决方法

xiaoxiao2025-07-26  14

def binary_search(list, item): low = 0 high = len(list) - 1 while low <= high: mid = (low + high) / 2 guess = list[mid] if guess == item: return guess if guess > item: high = mid - 1 else: low = mid + 1 return None my_list = [1, 3, 5, 7, 9] print(binary_search(my_list, 3)) print(binary_search(my_list, -1))

将以下这一行

mid = (low + high) / 2

改成

mid = int((low + high) / 2)

将其强转成整型。

因为列表索引必须是整型或切片

转载请注明原文地址: https://www.6miu.com/read-5033771.html

最新回复(0)