可迭代的数据类型(str,list,dict,tuple,set,open)这些数据类型都会提供一个迭代器,通过这些数据类型提供的迭代器可以把这些数据类型中的所有数据都逐一拿到。
1.那首先我们如何拿到这些数据类型提供的迭代器呢?这里有两种方法供我们选择:
s = '啦啦啦,我叫zzh啦'
#方法一:
t = iter(s)
#用iter()生成了一个迭代器
#方法二:
t = s.__iter__()
#用__iter__()生成了一个迭代器
2.拿到迭代器后我们要如何把数据逐一拿到手呢?这里也有两种方法供我们选择
#方法一:
next(t)#迭代一次
#方法二:
t.__next__()#迭代一次
当然这两种方法也是可以交替使用的。
好了,我们在来说一下迭代器的三个性质:
1.占用内存小;2.只能往前走,不能往后走,也不能重复;3.惰性机制(你不用next()或者__next__()调用迭代器,迭代器是不会往下走的)