Python 叠代器&生成器
阿新 • • 發佈:2018-04-28
AC 圖片 OS gen func isp for tor gif
生成器
- 通過列表生成式, 可以直接生成一個列表. 但是受到內存限制, 列表容量是有限的. 如果創建一個包含100萬個元素的列表, 卻只需要訪問其中幾個, 空間就浪費了.
- 如果列表元素可以按照某種算法算出來, 在循環的過程中不斷推算出後續的元素, 這樣就不必創建完整的list,從而節省大量空間. 在Python中, 這種一邊循環一邊計算的機制, 稱為生成器: generator.
創建一個generator, 有很多種方法
- 第一種方法: 把一個列表生成式的 [ ] 改成 (), 就創建了一個generator
-
1 >>> L = [x*x for x in range(10)]
-
1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 a = [] 5 for i in range(10): 6 a.append(i*2) 7 8 print(a) 9 10 11 print("========== 上述代碼等效於下面這句 ========== ") 12 b = [i*2 for i in range(10)] 13 print(b) 14 15
View Code
-
Python 叠代器&生成器