- 在线时间
- 4 小时
- 最后登录
- 2015-5-5
- 注册时间
- 2015-4-8
- 听众数
- 9
- 收听数
- 0
- 能力
- 0 分
- 体力
- 86 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 38
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 22
- 主题
- 12
- 精华
- 0
- 分享
- 0
- 好友
- 3
升级   34.74% TA的每日心情 | 慵懒 2015-5-5 09:35 |
---|
签到天数: 10 天 [LV.3]偶尔看看II
- 自我介绍
- sdc
 |
Python的生成器语法,会返回一个生成器对象,而用iter()函数,也能返回一个带有next()方法的可迭代对象,这样的话··按照我下面的写法,2者会有什么区别吗?如果一样,那生成器岂不是没用了?(所以·····)
, D: z# |0 B d: h& N, j$ }! ]+ H9 C- x
def createGenerator() :
6 C: K2 s& N- N) k* H mylist = range(10)
6 i3 F% F- n) _. F: y3 U0 p( I6 j8 p- i. e6 U- o M2 d4 z+ O
for i in mylist :
; Y" B" c0 W0 [8 a* N8 m$ C yield i*i & g' b0 @( G$ P
( m5 B* ~6 P* S% }7 q0 Umygenerator = createGenerator() # create a generator
9 J. X- R$ d, H! R( i, n) Z* ^print mygenerator 7 K- V5 m2 x7 v
$ r0 ?" [0 ?1 d$ C8 E7 u, w+ }: idef createIterator() : , V1 i6 l4 `& G! Q
mylist = range(10) + Z5 u; H8 n1 T' \7 C
# C$ ?! a1 J2 f% ]" |
return iter([i * i for i in mylist]) - t; |& F) W# G _0 @# }
+ C( A }6 t/ N5 x5 c9 Q. q) T# R. Jmyiterator = createIterator()
i, L$ H' `/ J. {print myiterator 2 U0 {/ t5 G8 a5 w6 ~4 T2 L
; ?1 \1 ?" l9 r R4 E' i |
zan
|