使用二進制搜索功能的索引值我被任務是設計一個返回給定目錄內的給定項目的索引Python函數。它被稱爲binary_sort(l,item),其中l是一個列表(未分類或排序),item是您正在尋找索引的項目。排序爲蟒蛇
這裏就是我有這麼遠,但它只能處理有序列表
def binary_search(l, item, issorted=False):
templist = list(l)
templist.sort()
if l == templist:
issorted = True
i = 0
j = len(l)-1
if item in l:
while i != j + 1:
m = (i + j)//2
if l[m] < item:
i = m + 1
else:
j = m - 1
if 0 <= i < len(l) and l[i] == item:
return(i)
else:
return(None)
我如何,如果它被賦予一個未排序列表修改此所以它會返回一個未排序列表中值的索引和一個值作爲參數?
我應該提到的唯一方法我可以使用從名單list.sort()和list.copy() –
你可以使用字典的排序方法? –