4 t4 y8 F- c. `9 D; r/ Y for i in mylist : ' A h6 w( E! \# ?6 ~& h
yield i*i " a0 A$ q: ?& i. p+ M5 r
* y; V: G% b# A9 ?: a( omygenerator = createGenerator() # create a generator / }+ z; X. H$ ~: I% W3 W+ lprint mygenerator 0 s+ H5 C# X; p4 f4 n" w$ \/ G1 C% k" P0 t
def createIterator() : + V: r9 Q4 q3 _& G8 T$ n9 M& x
mylist = range(10) 0 G/ m. H* W' V. X 8 m+ s- U I. j" }; ~+ e return iter([i * i for i in mylist]) ' e1 `2 [% r& k+ ]) ` : i2 t( P% G9 e& R) Imyiterator = createIterator() % { A+ m" ]2 T: R; nprint myiterator - |5 V4 _3 a, D, }0 B! C4 T: u, R9 j) v 作者: 美人如花 时间: 2015-4-10 14:16
# l! [: u2 X) R6 C6 I- B$ V {) t4 J
4 j2 S. O2 x0 e. o0 h ; U" g R' W- i4 Q- s1 E4 yCat_He 2015-04-07 20:38:08 # c) e' e- c8 v p6 Z" m6 A1 v- G% \1 j; @5 O' t7 S' F% ?9 {0 ~
这样理解?=>生成器是一种懒惰的迭代器 + U& V3 H" c) M2 l [) u& p5 S; c9 N
# r P4 X1 P2 h事实上,在Python3.x中许多原来在Python2.x中返回迭代器的地方都换成了返回生成器,更加优雅,安全,好用8 Z0 Z6 k& R9 Q3 l- P# p