在Python中,迭代器对象实现了iter()
和next()
两种方法。
String,List或Tuple对象可用于创建Iterator。
----------------------------------------------------
list = [1,2,3,4]
it = iter(list) # this builds an iterator object
print (next(it)) # 输出下一个元素 1
for x in it: #完整输出
print (x, end=" ")#2 3 4
-----------------------------------------------------
list = [1,2,3,4]
it = iter(list) # this builds an iterator object
#or using next() function
while True:
try:
print (next(it))
except StopIteration:
sys.exit() #you have to import sys module for this
---------------------------------------------------------------
Iterable--(可迭代对象)
直接作用于for循环:
list、tuple、dict、set、str(集合数据类型)
generator--(生成器)和带yield的generator function
生成器都是Iterator对象
generator--(生成器)
Iterator--(迭代器)
Iterable--(可迭代对象)list、dict、str
iter()函数--变成Iterator
isinstance()判断--Iterable(可迭代对象)--Iterator对象
next()函数
StopIteration错误
Iterator对象--表示的是一个无限大数据流--看做有序序列(全体自然数)
generator--(生成器)
可以作用于for循环
还可以被next()函数不断调用并返回下一个值
最后抛出StopIteration错误,无法继续返回下一个值了
Iterator--(迭代器)
可以被next()函数调用
不断返回下一个值的对象
isinstance()判断
>>> from collections import Iterator
>>> isinstance((x for x in range(10)), Iterator)
True
>>> isinstance([], Iterator)
False
>>> isinstance({}, Iterator)
False
>>> isinstance('abc', Iterator)
False
iter()函
>>> isinstance(iter([]), Iterator)
True
>>> isinstance(iter('abc'), Iterator)
True
分享知识,分享快乐!希望中国站在编程之巅!
----融水公子
公众微信号:rsgz520
360图书馆馆号:rsgz002.360doc.com
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。