直接作用于 for 循环的数据类型有以下几种:
集合数据类型 list 、 tuple 、 dict 、 set 、 str 等;
generator 包括生成器和带 yield 的generator function。
可以使用 isinstance() 判断一个对象是否是 Iterable 对象:
from collections import Iterable
print(isinstance([], Iterable))
print(isinstance({}, Iterable))
print(isinstance('123',Iterable))
print(isinstance((x for x in range(5)),Iterable))
print(isinstance(100,Iterable))
#可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。
生成器都是 Iterator 对象,但 list 、 dict 、 str 虽然是 Iterable ,却不是 Iterator 。
把 list 、 dict 、 str 等 Iterable 变成 Iterator 可以使用 iter() 函数:
from collections import Iterable
a=[1,2,4,6,8,6,10]
a=iter(a)
print(next(a))
print(next(a))
print(next(a))
未经允许不得转载:天府数据港官方信息博客 » python迭代器
客官点个赞呗! (0)