python写一个编程二分搜索法在列表中查找某一输入值,找到并返回位置下标

编程实现用二分搜索法在一有序列表中查找某一输入值,若找到则返回该元素在列表中位置(下标),否则输出“未找到”

l = [1, 17, 25, 32, 40, 41, 45, 47, 48, 55, 55, 58, 60, 62, 76, 79, 84, 85, 86, 87]
def binsearch(l, d, s, e):
    mid = (s + e) // 2
    if l[mid] == d:
        return mid
    elif s == mid or e == mid:
        return None
    else:
        if d > l[mid]:
            return binsearch(l, d, mid, e)
        else:
            return binsearch(l, d, s, mid)
res = binsearch(l, 87, 0, len(l))
print(res)