私は与えられたリスト内の指定された項目のインデックスを返すPython関数を設計することを任されています。これはbinary_sort(l、item)と呼ばれ、lはリスト(ソートされていないかソート済み)、itemはインデックスを探しているアイテムです。Pythonでバイナリ検索関数を使用してインデックス値をソートする
は、ここで私がこれまで持っているものだが、それだけでソートされたリスト
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()です。 –
辞書のソートメソッドを使用できますか? –