• map/fileter


    一、生成器,generator,节省内存,但是增加了CPU的计算时间

    (下节课讲函数怎么变成生成器)

     每次循环的时候,就按照这个规则(自己定义的逻辑)去生成一个数据。

    res = [ 'a','1' ]

    只有在每次循环的时候,才按照这个规则去生成数据。

    all = (i for i in range(5))
    print(all)# generator生成器

     附:列表生成式

    num = [str(i).zfill(2) for i in range(10)]# list
    nums = ( str(i).zfill(2) for i in range(10) )# 生成器,外层为[],则为列表生成式,外层为(),则为生成器
    print(nums)
    for n in nums:
        print(n)

    二、map,循环调用函数

    def makir(dir_name):
        if not os.path.isdir(dir_name):
            os.mkdir(dir_name)
            return True
    
    dir_names = ['dir1','dir2','dir3']
    
    # list(map(makir,dir_names))# 循环帮你调用函数

    三、filter,过滤

    # 过滤,它把函数处理结果为假的数据过滤掉
    # 只保留函数返回真的数据
    def my(num):
        if num%2==0:
            return True
    res = list( filter(my, range(10) ))# 过滤,它把函数处理结果为假的数据过滤掉
    res2 = list( map( my,range(10) ) )# 不管返回什么,都拿到全部结果
    print('filter...res',res)
    # 运行结果:filter...res [0, 2, 4, 6, 8]
    print('map...res2',res2)
    # 运行结果:map...res2 [True, None, True, None, True, None, True, None, True, None]
  • 相关阅读:
    JAVA中==与equals的区别
    spring面试重点
    struts2
    每个新手程序员必看的 SQL 指南
    QueryRunner的使用
    jquery GET POST
    jquery添加元素
    jquery 滑动动画
    jdbc 安装驱动
    为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
  • 原文地址:https://www.cnblogs.com/Noul/p/9294134.html
Copyright © 2020-2023  润新知