zoukankan      html  css  js  c++  java
  • python基础之递归,匿名,内置函数

    递归函数:

             什么是递归函数?

                      函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身。

             递归必须要有两个明确的阶段:

                      ①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少

                      ②回溯:递归必须要有一个明确的结束条件,在满足该条件时,结束递推,开始一层一层回溯

             递归的精髓在于通过不断地重复逼近一个最终的结果

             递归的应用:

                      二分法:

    l=[1,2,10,30,33,99,101,200,301,311,402,403,500,900,1000] #从小到大排列的数字列表
    def search(n,l):
        print(l)
        if len(l) == 0:
            print('not exists')
            return
        mid_index=len(l) // 2
        if n > l[mid_index]:
            #in the right
            l=l[mid_index+1:]
            search(n,l)
        elif n < l[mid_index]:
            #in the left
            l=l[:mid_index]
            search(n,l)
        else:
            print('find it')
    
    
    search(3,l)
    

     

    匿名函数:

             什么是匿名函数:匿名函数就是没有名字的函数,没有名字就意味着用一次就回收了

             lambda x,y:x+y

        有名函数与匿名函数的对比
         有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能
         匿名函数:一次性使用,随时随时定义
     
    内置函数:
    names={
        'egon':3000,
        'alex':100000000,
        'wupeiqi':10000,
        'yuanhao':2000
    }
    1.max()  and  min()
    工作原理:1.首先将迭代对象变成迭代器对象
            2.res = next(可迭代对象),将res当作参数返回值,传给key指定的函数,然后将该函数的返回值当作判断比较大小的key
          max(names,key = lambda k:names[k])
     
    2.sorted(names,key = lambda k:names[k],reverse = False) 
            结果为['yuanhao', 'egon', 'wupeiqi', 'alex']
            reverse 默认为false,false为从小到大排列
     
    3.   l = [1,2,3,4]
        map(lambda x:x**2,l)
        工作原理与max相同,但最后返回的是一个迭代器
     
    4.filter(lambda k:names[k] > 5000,names)
        返回值为迭代器,留下true的结果
     
    带*的必须掌握
    杂:abs() 求绝对值       all()迭代每个元素,都为True才返回True,空返回True
    bin() 转换为二进制      any()迭代每个元素,有一个True就返回True,空返回False
    oct() 转换八进制               *bytes(‘您好’, encoding = ‘utf-80’) = ‘您好’.encode(‘utf-8’)
    hex() 转十六进制               callable()检测是非可以被调用
    *chr() 参考ASCII将数字转换成对应字符串
    *ord() 参考ASCII将字符串转换成对应数字
    dir(time) 列举time.后面的所有方法    *divmod(10,3)  得到 (3,1) 即(商,余数)
    *eval(‘[1,2,3]’)  可以把字符串里面的列表变成列表
    frozenset({1,2,3})  不可变集合     round(四舍五入)
    globals()查看全局               locals()查看局部
    __import__(‘module’)可以用str导入模块
  • 相关阅读:
    部署 AppGlobalResources 到 SharePoint 2010
    还原一个已删除的网站集
    使用仪表板设计器配置级联筛选器 (SharePoint Server 2010 SP1)
    File or arguments not valid for site template
    Pex and Moles Documentation
    Content Query Webpart匿名访问
    Running Moles using NUnit Console from Visual Studio
    Calling a WCF Service using jQuery in SharePoint the correct way
    Updating Content Types and Site Columns That Were Deployed as a Feature
    asp.net中判断传过来的字符串不为空的代码
  • 原文地址:https://www.cnblogs.com/luck-L/p/9184587.html
Copyright © 2011-2022 走看看