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))