可迭代对象 TO 迭代器

时间:2022-11-16 06:45:06

可迭代对象并不是迭代器,只是支持迭代。可被for循环遍历的对象,比如list,dict ,tuple ,string都是可迭代对象

那既然支持迭代,那要如何用迭代替换for循环呢?

内置函数 iter 帮到您

在可迭代对象外面套一个iter(),即可成为迭代器

可迭代对象  TO  迭代器

再利用next()来获取迭代器中下一个元素

可迭代对象  TO  迭代器

当next()访问完迭代器中的所有元素之后,会抛出一个停止迭代 StopIteration 的错误

可迭代对象  TO  迭代器

注意要将它抛出捕捉住

string = iter("string")
while True:
try:
print(next(string))
except StopIteration:
break

可迭代对象  TO  迭代器