如果你有这样的清单:
foo_list = [x for x in xrange(2, 2000000000, 2)] ## [2, 4, 6, 8, ...]
你想检查一个元素是否在其中,然后以下操作需要进行10亿次比较:
x = 3
if x in foo_list:
pass
但是,由于我们知道foo_list
已排序,我们可以在两次比较(最多)之后评估条件。
有没有Pythonic方法来利用这种行为?我想知道是否有一种内置方式告诉程序我们正在查找排序列表中的元素:
x = 3
if is_in(x, foo_list, sorted=True)
pass