python内置函数iter()的缺点

概述

关于iter()函数的功能,参见:
https://www.runoob.com/python/python-func-iter.html

缺点1:for in 语句只能循环一次

使用内置函数iter(),将 可迭代对象 转换成 迭代器,但是在使用for in循环该迭代器时,只能循环一次,见如下代码:

l=[1,2,3,4,5]

it=iter(l)

for i in it:
    print(i)


for i in it:
    print(i)

执行结果如下:

1
2
3
4
5

也就是说,执行2次for in循环该迭代器,但实际上只循环了1次

缺点2:while 语句只能循环一次

同for in,见如下代码:

l=[1,2,3,4,5]

it=iter(l)

while True:
    try:
        print(next(it))
    except StopIteration as e:
        break


while True:
    try:
        print(next(it))
    except StopIteration as e:
        break

执行结果如下:

1
2
3
4
5

也就是说,执行2次while循环该迭代器,但实际上只循环了1次


原文出处:/show_1EF4a3mEiecs.html