美文网首页
python3中生成器和列表推导式的优点和缺点

python3中生成器和列表推导式的优点和缺点

作者: nice生活 | 来源:发表于2019-02-20 16:28 被阅读0次

    列表推导式

    优点:如果生成列表的方式不太复杂,这是建议使用列表推导式,其内部是通过cpython来实现的比较用for循环要快

    from time import perf_counter
    from functools import wraps
    
    
    def spend_time(func):
        @wraps(func)
        def decorate_func(*args,**kwargs):
            start = perf_counter()
            func()
            all = perf_counter()-start
            print(all)
        return decorate_func
    
    
    @spend_time
    def for_func():
        mylist=[]
        all = range(100000)
        for i in all:
            mylist.append(i)
    
    
    @spend_time
    def list_finc():
        mylsit=[i for i in range(100000)]
    
    
    if __name__ == '__main__':
        for_func()
        list_finc()
    #0.01984996400000001
    #0.01048295299999999
    

    生成器

    优点:不会将所有的值一次性加载到内存中,延迟计算,一次返回一个结果,它不会一次生成所有的结果,这对大数据量处理,非常有用
    生成器可以使用yield关键字编写也可以使用生成器表达式即把[]改成()

    相关文章

      网友评论

          本文标题:python3中生成器和列表推导式的优点和缺点

          本文链接:https://www.haomeiwen.com/subject/dvmhyqtx.html