0
我正在使用這裏提到的二進制搜索功能:When are bisect_left and bisect_right not equal?,但不是返回False,我只想跳過不在列表e
列表中的值。Python bisect:傳遞值而不是返回插入索引
from bisect import bisect_left
def binsearch(l,e):
index = bisect_left(l,e)
if index == len(l) or l[index] != e:
return False
return index
l = [1, 2, 3, 6, 7, 8, 9]
e = [7, 9, 2, 4, 7]
index = []
for i in e:
index.append(binsearch(l,i))
print index # [4, 6, 1, False, 4]
我試圖取代return False
與pass
但我得到的地方不在列表中的值會被索引。有沒有辦法簡單地傳遞一個值,如果它不在l
和輸出[4, 6, 1, 4]
?
完美。謝謝! – user2483176