zoukankan      html  css  js  c++  java
  • 匿名函数、sorted()、filter()、map()、递归

    一、匿名函数

      1.lambda 匿名函数

        方法 lambda 参数:返回值  (函数名统一叫lambda)

    def func(n):
        return n**2
    print(func(3))
    #这是一个普通的函数,返回值是3
    a = lambda n : n**2
    print(a(3))
    #这是匿名函数,返回值也是3
    View Code

        匿名函数的参数可以两个或多个,返回值也可以是两个或多个。(当返回值是两个以上的时候要用括号括起来),在参数位置如果传人多个参数可以使用*args。

    二、sorted() 排序函数

      语法:sorted(iterable,key,reverse)  key:排序规则   reverse参数不给就是升序,给True就是降序。

      运行流程:把可迭代对象中的每一个元素交给后面的key函数来执行。得到一个数字(权重),通过这个数字进行排序。

      如是字典,返回排序后的key

    dic = {1:"A",3:"C",2:"B"}
    print(sorted(dic))
    #[1, 2, 3]
    lst = ["布加迪威航","法拉利","奥迪A8","11路公交车"]
    def func(s):
        return len(s)
    print(sorted(lst,key=func))
    #['法拉利', '奥迪A8', '布加迪威航', '11路公交车']
    print(sorted(lst,key=lambda s : len(s)))
    #['法拉利', '奥迪A8', '布加迪威航', '11路公交车']
    View Code

    三、filter() 过滤函数

      语法:filter(function,iterable)

      把可迭代对象中的每一个元素交给前面的函数进行筛选,函数返回Ture或者False

    四、map() 映射函数

      语法:map(function,iterable)

      把可迭代对象中的数据交给前面的函数进行执行,返回值就是map()的处理结果

      (这里的映射也具有水桶效应)

    五、递归

      本质:函数自己调用自己

      最大深度:1000,但是不到1000就会停下来

      通过递归思想去实现打开本地的某个文件夹里面的所有文件名称

    import os#引入os模块
    def func(filepath,n):
        flies = os.listdir(filepath)#打开你输入的文件夹
        for file in flies:#循环当前文件夹里面的内容
            file_path = os.path.join(filepath,file)#给文件名称加上路径
            if os.path.isdir(file_path):#如果某个文件是文件夹,就打印名字并且再次调用函数
                print("	"*n,file,":")
                func(file_path,n+1)
            else:
                print("	"*n,file)
    func("e:/python视频",0)#第二个参数主要是用来显示层次用的
    View Code

      

      

  • 相关阅读:
    解决前端跨域请求的几种方式
    使用excel 展现数据库内容
    win7 安装windows 服务 报错 System.Security.SecurityException 解决方法 An exception occurred during the Install phase. System.Security.SecurityException: The so
    java 查看线程死锁
    linux 配置 java 环境变量
    数据库性能优化
    C#中静态与非静态方法比较
    apache日志切割工具cronolog安装配置
    虚拟机克隆后网卡有问题解决方法
    vs2015工具箱突然没有了
  • 原文地址:https://www.cnblogs.com/qq849784670/p/9481801.html
Copyright © 2011-2022 走看看