我现在已经有很多对象可以使用for循环, 而且相对于其他语言, pytyonfor循环的使用方式非常优雅, 简洁和便利.
for循环的背后就是迭代器.
迭代器使用遍及 python ,并且使用方式统一.
for使用迭代器的步骤简述如下:
调用内置函数
iter(container), 把容器作为参数传递进去, 返回一个对象, 这个对象就是一个迭代器对象. 容器对象就是指的咱们前面说str, list等.迭代器对象中有一个方法
__next()__, 这个方法每调用一次, 就可以访问到容器中的一个元素. 我们自己要调用的话, 不用直接调用这样双两下划线方法, 调用内置函数next(it)放就可以了, 迭代器作为参数.当容器中最后一个元素被迭代后, 再调用
__next()__方法, 则会抛出一个StopIteration异常,for循环捕捉到这个异常后就可以终止循环了.
用迭代器访问字符串元素
s = "acdefgh"
# 获取字符串 s 的迭代器, 其实等价于 it = s.__iter__()
it = iter(s)
print(next(it))# 迭代第一个元素
print(next(it))
print(next(it))
print(next(it))
print(next(it))

用迭代器访问list元素
s = [10, 30, 40, 20, 2]
it = iter(s)
print(next(it))
print(next(it))
print(next(it))