2

我只能考虑遍历列表,但效率非常低,因为列表可以增长到 1000000。

编辑:我也知道二进制搜索。我想知道是否有任何内置的python函数可以有效地做到这一点。

4

1 回答 1

5

看一下bisect模块。文档建议以下方法在排序列表中定位元素:

def index(a, x):
    'Locate the leftmost value exactly equal to x'
    i = bisect_left(a, x)
    if i != len(a) and a[i] == x:
        return i
    raise ValueError
于 2013-06-29T13:25:56.793 回答