Ошибка возникает в линии if data[l][0] == value:
Почему я получаю индекс индекса вне диапазона в моем коде?
def binary_pairs(data, value):
l = 0
h = len(data) - 1
while l < h and data[l]!= value:
m = (h + l) // 2
if data[m][0] == value:
l = m
elif data[m][0] < value:
l = m + 1
else:
h = m - 1
print("done")
if data[l][0] == value:
return l
else:
return -1
Пример ввод: [[ "мертвый", [ "brian.txt", "grail.txt"]], [ " eunt", [ "Брайан. .txt "]], [ "отшлепать", [" grail.txt "]] ]
Не могли бы вы добавить пример ввода? – miku
Распечатайте «данные» после «def» (до l = 0), чтобы узнать, что вы получаете в функции binary_pairs. – durasm