これは私がやったことですが、これはリスト内の1つのアイテムしか見つけません。アイテム36の両方のインデックスを印刷したいです。これを投稿した方法または質問が明確でない場合は、これまでに行ったことを助けてください。申し訳ありません事前に[コード]
def main():
mylist=[]
for i in range(20):
mylist.append(i*3)
mylist.append(36)
mylist.sort()
print mylist
binarySearch(mylist,0,len(mylist),36)
def binarySearch(thelist,lower,upper,item):
if upper<lower:
print 'item not in the list'
return
middle=(lower+upper)/2
if thelist[middle]<item:
lower=middle+1
binarySearch(thelist,lower,upper,item)
elif thelist[middle]>item:
upper=middle-1
binarySearch(thelist,lower,upper,item)
else:
print 'the item was found at index ',thelist[middle],middle
return
main()