• 内置函数lambda,sorted,filter,map,函数递归,递归实现文件的遍历,计算文件夹的大小,二分法查找


    #递归实现文件的遍历
    import os
    def func(path,ceng=0):
        name_list=os.listdir(path)   #查看路径下所有文件
        for name in name_list:
            path_abs=os.path.join(path,name) #拼接路径
            if os.path.isdir(path_abs):  #判断是否为文件夹
                print('	'*ceng,name)
                func(path_abs,ceng+1)   #是文件夹递归
            else:
                print('	'*ceng,name)   #不是文件夹打印文件名
        # else:
        #     return
    func('C:python')

    #递归实现文件夹大小的计算
    import os
    def func(path):
      size=0
      list_name=os.listdir(path)
      for name in lisr_name:
        path_abs=os.path.jion(path,name)
        if os.path.isfile(path_abs):
          size+=os.path.getsize(path_abs)
        elif os.path.isdir(path_abs):
          ret=func(path_abs)
          size+=ret
      return size
    print('此文件夹大小为:',func(路径))

    #二分法查找 #1 变索引 循环 lst=[8,5,6,2,3,1,9,0,7,4] lst=sorted(lst) print(lst) n=int(input('请输入一个数字:')) left=0 right=len(lst)-1 while left <= right: mid=(left+right)//2 if n<lst[mid]: right=mid-1 elif n>lst[mid]: left=mid+1 else: print('找到了') break else: print('不存在') #2 切列表 递归 lst=[8,5,6,2,3,1,9,0,7,4] lst=sorted(lst) def func(n,lst): left=0 right=len(lst)-1 mid=(left+right)//2 if left<=right: if n >lst[mid]: new_lst=lst[mid+1:] return func(n,new_lst) elif n< lst[mid]: new_lst=lst[:mid] return func(n,new_lst) else: return True else: return False print(func(19,lst)) #3 变索引 递归 lst=[8,5,6,2,3,1,9,0,7,4] lst=sorted(lst) def func(n,lst,left=0,right=None): if right==None: right=len(lst)-1 mid=(left+right)//2 if left <= right: if n <lst[mid]: right=mid-1 return func(n,lst,left,right) elif n>lst[mid]: left=mid+1 return func(n,lst,left,right) else: return True else: return False print(func(13,lst))

      

  • 相关阅读:
    MongoDB笔记: 安装和常见问题
    Spring Boot方式的Dubbo项目
    Centos7安装Redis5.0.5并加入Systemd服务
    生成Nginx服务器SSL证书和客户端证书
    OpenSSL的证书, 私钥和签名请求(CSRs)
    迁移Git项目到Gitlab
    Ubuntu18.04 Server安装Nginx+Git服务和独立的svn服务
    ESXi6.5上的Ubuntu虚机在远程SSH时宕机
    Nginx访问路径添加密码保护
    从阿里云DATAV GeoAtlas接口抽取行政区划数据
  • 原文地址:https://www.cnblogs.com/PythonMrChu/p/9681892.html
Copyright © 2020-2023  润新知