, list(mid) TypeError: 'list' object is not callable.
( list[mid]), , min max, , 0 len(list)-1 . , ( , RecursionError ).
: binarySearch(l, 5, 0, 10) binarySearch(l, 5, 0, 4). 4 , 10, binarySearch(l, 5, 0, 4). binarySearch(l, 5, 0, 4). .
( ), . 10, binarySearch(l, 10, 0, 10) binarySearch( l, 10, 6, 10) , which will call binarySearch (l, 10, 8, 10), binarySearch( l, 10, 9, 10) , then binarySearch (l, 10, 10, 10)), list[10] > element. list[10] IndexError, 11 .
, . , , . :
>>> a = range(10)
>>> for i in -3, -1, 0, 1, 4, 5, 9, 10, 11:
... print i, binarySearch(a, i, 0, 10)
-3 False
-1 False
0 0
1 1
4 4
5 5
9 9
10 False
11 False
. bSearch bSearch .
( , - ), : .
( start end, , , , .)
, return False if len(list) == 0. , True, . 4 - , (5), True - .