可迭代对象并不是迭代器,只是支持迭代。可被for循环遍历的对象,比如list,dict ,tuple ,string都是可迭代对象
那既然支持迭代,那要如何用迭代替换for循环呢?
内置函数 iter 帮到您
在可迭代对象外面套一个iter(),即可成为迭代器
再利用next()来获取迭代器中下一个元素
当next()访问完迭代器中的所有元素之后,会抛出一个停止迭代 StopIteration 的错误
注意要将它抛出捕捉住
string = iter("string") while True: try: print(next(string)) except StopIteration: break