迭代器
迭代器是一个可以记住遍历的位置的对象
方法 | 作用 |
---|---|
iter() | 创建迭代器 |
next() | 取出迭代器的下一个元素 |
weeks = ('MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'MON')
# 创建迭代器
it = iter(weeks)
while True:
try:
# 遍历迭代器
print(next(it))
except:
break
执行输出如下:
MON
TUE
WED
THU
FRI
SAT
MON
生成器
使用了 yield 的函数被称为生成器(generator),他返回一个迭代器
# 创建 生成器函娄--生成1-10的数字
def autoIncrement():
i = 0
while i < 10:
i = i + 1
yield i
if __name__ == '__main__':
it = autoIncrement()
while True:
try:
# 遍历迭代器
print(next(it))
except:
break
执行以上代码输出:
1
2
3
4
5
6
7
8
9
10