1、昨日内容回顾

  主要内置函数:

    map(func,iter1):返回迭代器

    filter(func,iter1):返回迭代器

    sorted(iter,key=,reverse=):返回列表

    reversed(iter1):返回迭代器

max:

min:

sum:

    

1:filter:返回为True则保留传进去的值。只能过滤传进去的值不能改变。如想改变返回值可以使用map

       

2、递归函数

  自己调用自己

  默认最大递归层数:997

  更改系统最次数大:sys.setrecursionlimit(1000)

  

3、二分查找

前提条件:

数字序列、不重复、有序。

def binary_search(li, iam, start=0, end=None):
end = len(li)-1 if end is None else end
mid_index = (end-start)//2 + start
if start < end:
if iam > li[mid_index]:
return binary_search(li, iam, start=mid_index+1, end=end)
elif iam < li[mid_index]:
return binary_search(li, iam, start=start, end=mid_index)
elif iam == li[mid_index]:
return mid_index
else:
return None
else:
return None li1 = [1, 3, 5, 7, 8, 9, 10]
print(binary_search(li1, 8))
05-11 21:56