我只能考虑遍历列表,但效率非常低,因为列表可以增长到 1000000。
编辑:我也知道二进制搜索。我想知道是否有任何内置的python函数可以有效地做到这一点。
看一下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