python基礎--零散知識點
阿新 • • 發佈:2018-02-27
bject 結果 bsp object time -- 生成 顯示 body
假設一個列表的存有 數量很大的元素,但是在每一次運行時,通常只調用前面幾個元素,這時為了優化,可以采用生成器.
isList = [x * x for x in range(10)]
print(isList) # 結果[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
isGenerator = (x * x for x in range(10))
print(isGenerator) # 這裏顯示的結果是生成器的地址<generator object <genexpr> at 0x0000028E39D79938>
print("result : %d " % next(isGenerator)) # result : 0
print("result : %d " % next(isGenerator)) # result : 1
print("result : %d " % next(isGenerator)) # result : 4
for i in isGenerator:
print(i) # 依次是 9, 16, 25, 36, 49, 64, 81
for it in isGenerator:
print("this time : %d" % it) # 結果為空,這時如果繼續調用next(isGenerator),會報StopIteration(因為越界).
python基礎--零散知識點