zoukankan      html  css  js  c++  java
  • python全栈开发day15-递归函数、二分查找

    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))
    View Code
  • 相关阅读:
    C++多态性的总结
    php 基于curl 实现,模拟多线程任务
    php 解决跨域问题
    vue-cli 使用步骤
    php 图片转成base64 前后台示例
    jq 实现选项卡效果
    javascript仿es6的map类
    PHP生成word并可下载
    vue 实现的树形菜单
    vue之路由的基本用法
  • 原文地址:https://www.cnblogs.com/wuchenggong/p/9056478.html
Copyright © 2011-2022 走看看