在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 分享知识,分享快乐!希望中国站在编程之巅!
|
|