- 在线时间
- 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者会有什么区别吗?如果一样,那生成器岂不是没用了?(所以·····) ' l1 O9 G, H" }* A5 v N" V1 A: F2 W
: i* _0 S. g2 _+ W6 M% cdef createGenerator() :
9 b5 q- ^1 i! f. `6 W mylist = range(10) + ~6 ^' t% o, `. U6 I
# ?& P& H( Z8 ^- T7 \! q/ ] for i in mylist :
: r8 r8 R- `& R, S+ k/ l yield i*i
7 `3 |% V+ m7 D- w" ?( d2 E- F. @, ^& _% d7 C3 p! E
mygenerator = createGenerator() # create a generator : ]0 J" f2 S, _2 r% G: F
print mygenerator ' I# L: {. E' b' G4 q" P
# g) k# Q9 V( W7 Q8 Y3 g" [. q
def createIterator() : / k F" Z: ^3 l I# ^
mylist = range(10)
6 \* h$ J, w' ~1 N/ T; V! W, y8 {6 S: C& v2 G. x
return iter([i * i for i in mylist])
+ q+ @& x! j$ k* y: y4 q6 e9 H; s' {: `6 X. L
myiterator = createIterator()
! t1 X) v+ s! i# M& ^$ Gprint myiterator
* f8 A0 T$ X% N' ]! s. T, H& ^2 y' g; Y$ h
|
zan
|