首页 > 解决方案 > 'type' 类型的对象没有 len()

问题描述

'type' 类型的对象没有 len()

这是我的代码:

 def search(li,n):
    l = 0
    u = len(li)-1
    while l <= u:
       mid = (l + u) //2
       if li(mid) == n:

          return True
       else :
            if li(mid) < n :
              l = mid
            else:
              u = mid

调用函数search()

这是清单:

li = [5,2,8,4,6,3,7,9]
n = 3

if search(list,n):
    print("Found")
else:
    print("Not Found")

标签: python

解决方案


if search(list,n):

应该读

if search(li,n):

list是内置类型的名称。

另外,索引到列表中的正确方法是使用方括号,而不是括号。

最后,为了使二分搜索算法起作用,需要对列表进行排序。


推荐阅读