- 在线时间
- 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者会有什么区别吗?如果一样,那生成器岂不是没用了?(所以·····)
* N- g# n5 L# I6 Q% G% I; T7 M( W
q2 V1 b8 T. e; I# Xdef createGenerator() : # I# a& ~. G* w1 i) Z
mylist = range(10) " c7 ?3 L6 G) O2 [: {
9 ?1 v, k1 o- h- i0 p4 i
for i in mylist :
6 [7 V( f# x, r yield i*i
+ I3 r2 D& h' o9 U# ~6 x( j2 S$ N5 L7 P* p# X
mygenerator = createGenerator() # create a generator
5 N" e# i# t$ A% W# tprint mygenerator
8 Q, Y7 j+ a8 {4 i9 Y
" V9 O( V& g' g! Q% ~! G1 q1 Vdef createIterator() :
3 Y6 E% s; M3 G1 _. y. o mylist = range(10) ; T6 n" ]; A8 f! K# |. s5 }) u8 y( h
/ O1 C- I5 J, e2 q" H) a% t return iter([i * i for i in mylist]) 4 a, Q+ K/ l8 w C! m% G% U
& J! I/ e" X6 z/ Jmyiterator = createIterator()
. u' s, N: a, C( {$ D% Hprint myiterator 7 ]: Y0 ?- d: k) w% n
$ a, G x: I. J* [3 h v1 y |
zan
|