生成器的概念

#生成器:生成器的出現是來避免快速生成一批數據,瞬即佔用內存過大的問題
#使用方式是當你需要數據的時候,去找生成器去拿,纔會再內存中開闢空間
#列表生成式是快速的生成一個列表,內存中開闢相應的空間
#格式1:將列表中的[]換成()
g=(x for x in range(100))
#獲取數據next()
print(next(g))
#如果生成器沒有數據了,再去拿的話會報錯
li=[1,3,5,6,9]
for x in g:
    if x==10:
        break
    print(x)
#格式2:獲取指定個數的數據
#  函數與yield結合
def get_value(num):
    for i in range(num):
        yield i  #把數據返回去
        #print(i) #下一次再獲取的時候執行print,可以不要
gl=get_value(10)
#獲取數據,可以一個個的拿,也可以forin 拿
print("剛剛獲得的value:",next(gl))
print("剛剛獲得的value:",next(gl))
for i in gl:
    print(i)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章