迭代是访问集合元素的⼀种⽅式。迭代器是⼀个可以记住遍历的位置的对象。迭代器对象从集合的第⼀个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
1.可迭代对象
我们已经知道可以对list、tuple、str等类型的数据使⽤for...in...的循环语法从其中依次拿到数据进⾏使⽤,我们把这样的过程称为遍历,也叫迭代。但是,是否所有的数据类型都可以放到for...in...的语句中,然后让for...in...每次从中取出⼀条数据供我们使⽤,即供我们迭代吗?
我们⾃定义了⼀个容器类型MyList,在将⼀个存放了多个数据的MyList对象放到for...in...的语句中,发现for...in...并不能从中依次取出⼀条数据返回给我们,也就说我们随便封装了⼀个可以存放多条数据的类型却并不能被迭代使⽤。
我们把可以通过for...in...这类语句迭代读取⼀条数据供我们使⽤的对象称之为可迭代对象(Iterable)
两种方法:
1.可迭代对象.__iter__()
2.iter(可迭代对象)
2.如何判断⼀个对象是否可以迭代
可以使⽤isinstance()判断⼀个对象是否是 Iterable对象:
大家如果有什么问题欢迎联系小编,小编的企鹅 二九四四二八二六二五。共同进步!
领取专属 10元无门槛券
私享最新 技术干货