
Я позаимствовал коды у GeeksforGeeks для бинарного поиска и создал один из моих собственных.Но я продолжал получать ошибку:
TypeError: '<' не поддерживается между экземплярами 'str' и 'list' </p>
Это просто простой бинарный поиск, написанныйв Python.Алгоритм протестирован, и я просто не могу понять, как исправить ошибку Python.Я гуглил много раз, но не мог это исправить.Я смотрю на решения StackOverflow и не могу это исправить.Очень признателен, если кто-то может мне помочь, пожалуйста.
import csv
import time
def binarySearch(data, key):
print("inside binarySearch")
matched = " "
location = -1
low = 0
middle = 0
high = len(data)-1
while (low <= high):
# calculate middle: the half of lower and upper
middle = int((low + high)/2)
if data[middle] == key :
found = True
matched = key
print("Found --> : " + matched)
location = middle # Get the Middle value
break
else:
if key < data[middle]:
high = middle - 1
else:
low = middle + 1/
print("Position : " + str(location) + " record : " + str(matched))
return location, matched
if __name__ == "__main__":
datafile = open('nba.csv', 'r')
datareader = csv.reader(datafile, delimiter=';')
data = []
for row in datareader:
data.append(row)
sorted_data = list(data)
sorted_data.sort()
data = sorted_data
query_string = "Boston Celtics" # Query Term
start_range = time.time()
output = binarySearch(data,query_string )
print(output)