zoukankan      html  css  js  c++  java
  • 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]
  • 相关阅读:
    初识Kafka
    初学Linux (Linux_note)
    Zookeeper_ACL
    Zookeeper简单配置
    getWindow().setFlags
    设置session失效时间
    Android开发者必知的5个开源库
    oracle A用户访问B用户的表aa
    oracle 根据约束名查表名
    java ftp上载下传 遇到的问题
  • 原文地址:https://www.cnblogs.com/Noul/p/9294134.html
Copyright © 2011-2022 走看看