python使用二分搜索法在一列表中查找某一输入值,找到返回该元素在列表中的位置下标,否侧输出未找到
时间: 2024-03-22 17:42:39 浏览: 90
Python实现二分法搜索
5星 · 资源好评率100%
好的,下面是 Python 的二分搜索实现代码:
```python
def binary_search(arr, x):
# 初始索引
low = 0
high = len(arr) - 1
while low <= high:
# 计算中间索引
mid = (low + high) // 2
# 如果找到元素,返回其下标
if arr[mid] == x:
return mid
# 如果中间元素比 x 大,则在左半部分继续查找
elif arr[mid] > x:
high = mid - 1
# 如果中间元素比 x 小,则在右半部分继续查找
else:
low = mid + 1
# 如果未找到元素,返回 "未找到"
return "未找到"
```
你可以在调用该函数时传入一个列表和要查找的值,如下所示:
```python
arr = [1, 3, 5, 7, 9]
x = 5
result = binary_search(arr, x)
print(result)
```
输出结果为:
```
2
```
如果要查找的值不在列表中,输出结果为:
```
未找到
```
阅读全文