我對python很陌生。所以,我想知道哪種方法更適合在函數中查找列表中的元素。用兩種不同的方式從列表中搜索的功能
第一:
def search_binary(xs,target):
count = 0
for i in xs:
if i == target:
return count
count = count +1
else:
count = count +1
continue
return -1
二:
def search_binary(xs, target):
lb = 0
ub = len(xs)
while True:
if lb == ub:
return -1
mid_index = (lb + ub) // 2
item_at_mid = xs[mid_index]
if item_at_mid == target:
return mid_index
if item_at_mid < target:
lb = mid_index + 1
else:
ub = mid_index
是按排序嗎?如果不是這樣,答案也不是:) – roippi
,如果你正在做二分搜索,你應該使用'bisect'模塊。 – roippi