iter()函数用来生成迭代器,返回可迭代的对象,一个list本身不是可迭代的对象;
next()函数返回迭代器的下一个项目,括号里面的元素必须是的可迭代的对象。
参考如下代码:
lst=[1,2,30]
for i in lst:
print(i)
next(lst)
运行结果:
1
2
30
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-11-c401cb4a460c> in <module>
2 for i in lst:
3 print(i)
----> 4 next(lst)
TypeError: 'list' object is not an iterator
再次说明:list 本身不是可迭代对象
修改后的代码:
lst=[1,2,30]
for i in iter(lst):
print(i)
next(iter(lst))
运行结果:
1
2
30
1
解释:最后一个输出的1,就是lst转化成迭代器后,输出的结果。
最后
以上就是靓丽大地最近收集整理的关于Python中迭代器,next()函数和iter()函数的全部内容,更多相关Python中迭代器内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复