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