Python(十五)生成器

Posted on 2021-04-26 16:28  MissRong  阅读(41)  评论(0)    收藏  举报

Python(十五)生成器

一、自建生成器

import time
def myList(n):
    return [i for i in range (n)]
def myGenerator(n):
    (i for i in range(n))
if __name__ == "__main__":
    s_time = time.time()
    myList(100000)
    e_time = time.time()
    print("列表存放值的时间是:", (s_time-e_time))

    s_time = time.time()
    myGenerator(100000)
    e_time = time.time()
    print("生成器存放值的时间是:", (s_time-e_time))
# 列表存放值的时间是: -0.004987001419067383
# 生成器存放值的时间是: 0.0
    

所以,生成器的速度较快些

二、生成器yield关键字

def a():
    for i in range (1000):
        yield i
x = a()    # <generator object a at 0x000002E94A08B308>
print(x)   # 0

print(next(x))
print("*****************")
for i in range(100):
    print(next(x))

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3