手动遍历迭代器
一、 解决问题
你想遍历一个可迭代对象中的所有元素,但是却不想使用for循环。
二、解决方案
next() 函数, 捕获 StopIteration异常
三、代码说明
#!/usr/bin/env python
#coding= utf-8
def manual_iter():
with open("info.txt", 'rb') as f:
try:
while True:
line = next(f)
print (line.decode('utf-8'), end="")
except StopIteration:
pass
manual_iter()
"""
next() 还可以指定一个默认结尾值,从而不会导致异常
"""
print()
a = [1, 2]
i = iter(a)
print (next(i, None))
print (next(i, None))
print (next(i, None))
print (next(i, "xxx"))
四、关联知识
五、总结
六、代码地址
github地址:https://github.com/weichen666/python_cookbook
目录/文件:fourth_selection/learn_iter_next.py