from collections import Iterator
from collections import Iterable
g = (x * x for x in range(10))
t = isinstance(g, Iterator)
print(t)#这一行的显示结果为true
print(next(t))#为什么这样子输出会显示错误???????????t不是迭代器吗???????from collections import Iterator
from collections import Iterable
g = (x * x for x in range(10))
t = isinstance(g, Iterator)
print(t)#这一行的显示结果为true
print(next(t))#为什么这样子输出会显示错误???????????t不是迭代器吗???????isinstance是一个判断变量类型的方法,类似type(),返回的是bool值,你从函数名字就可以猜出来了?
这个例子中g已经是迭代器了
所以你要print(next(g)),多次执行就循环打印迭代器中的值
4 回答970 阅读
1 回答714 阅读
1 回答696 阅读
1 回答522 阅读
643 阅读
586 阅读
569 阅读
你是不是写错了?
把next(t)改成next(g)也可以啊。
但是要全部遍历要放进循环里,
如果一直用next手动遍历最后一次会报错。