迭代器

'''
可迭代对象(for):Iterable 【list tuple dict set str】+【generator】
迭代器(next()):Iterator 【generator】+iter(【list tuple dict set str】)
判断可迭代对象和迭代器:isinstance([],Iterable)和 isinstance([],Iterator)


'''
from collections import Iterable
from collections import Iterator
##以下全是可迭代对象
print(isinstance([1,2,3],Iterable))               ##列表list    【True】
print(isinstance((1,2,3),Iterable))               ##元祖tuple   【True】
print(isinstance({'a':1,'b':2,'c':3},Iterable))   ##字典dict    【True】
print(isinstance({1,2,3},Iterable))               ##集合set     【True】
print(isinstance('abc',Iterable))                 ##字符串str   【True】
print(isinstance((x for x in range(4)),Iterable)) ##生成器generator 【True】
##判断迭代器
print(isinstance([1,2,3],Iterator))               ##列表list  【False】
print(isinstance((1,2,3),Iterator))               ##元祖tuple 【False】
print(isinstance({'a':1,'b':2,'c':3},Iterator))   ##字典dict  【False】
print(isinstance({1,2,3},Iterator))               ##集合set   【False】
print(isinstance('abc',Iterator))                 ##字符串str 【False】
print(isinstance((x for x in range(4)),Iterator)) ##生成器generator 【True】
##使用iter()转化
print(isinstance(iter([1,2,3]),Iterator))               ##列表list  【True】
print(isinstance(iter((1,2,3)),Iterator))               ##元祖tuple 【True】
print(isinstance(iter({'a':1,'b':2,'c':3}),Iterator))   ##字典dict  【True】
print(isinstance(iter({1,2,3}),Iterator))               ##集合set   【True】
print(isinstance(iter('abc'),Iterator))                 ##字符串str 【True】
print(isinstance((x for x in range(4)),Iterator)) ##生成器generator 【True】
原文地址:https://www.cnblogs.com/liuhuacai/p/12305319.html