用Python的库函数寻找排序数组里第一个大于等于某个数的索引
时间: 2024-04-17 21:25:29 浏览: 56
找出一个序列中前M个大值对应的索引(堆排序实现)
在Python中,可以使用`bisect`模块的`bisect_left`函数来寻找排序数组中第一个大于等于某个数的索引。
下面是一个示例代码:
```python
from bisect import bisect_left
def find_first_greater_or_equal(arr, x):
i = bisect_left(arr, x)
if i != len(arr):
return i
else:
return -1
# 示例用法
arr = [1, 2, 4, 4, 6, 8, 10]
x = 5
result = find_first_greater_or_equal(arr, x)
if result != -1:
print("第一个大于等于", x, "的元素在索引", result, "处")
else:
print("未找到大于等于", x, "的元素")
```
这段代码中,我们定义了一个`find_first_greater_or_equal`函数,它接受一个已排序的数组和目标数作为参数。函数内部使用`bisect_left`函数找到第一个大于等于目标数的索引。如果找到了该索引,则返回该索引;否则返回-1,表示未找到。
希望能对你有所帮助!如果有更多问题,请随时提问。
阅读全文