Ошибка TypeError: 'list' object is not callable
Всем привет, я перешел к изучению алгоритмов, но не понимаю почему ошибка, помогите пожалуйста, (python, binary search).
Ошибка:
TypeError: 'list' object is not callable
Код:
def binary_search(my_list, start, end, search):
if start == end:
return False
else:
mid = (start + end) // 2
if search == my_list(mid):
return mid
elif search < my_list(mid):
return binary_search(my_list, search, start, mid - 1)
else:
return binary_search(my_list, search, mid + 1, end)
my_list = [1, 3, 6, 9, 18, 36, 2, 5, 77, 111, 231, 142, 56, 34, 76, 89]
start = 0
end = len(my_list)
search = 9
options = binary_search(my_list, start, end, search)
if options == False:
print(f'Number {search} is not on your list.')
else:
print(f'Number {search} on your list has index {options}.')
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Обращение к элементу списка - с квадратными скобками
my_list[mid]
А поиск бинарный работать не будет, т.к. список не отсортирован