python 迭代器 笔记

1.凡事可用于for循环的对象都是Iterable类型对象;

2.凡事可做用于next()函数的对象都是Iterator类型对象,他们表示一个惰性计算的序列;

3.集合数据类型list、dicr、str等是Iterable对象不是Iterator对象,但是可以通过调用iter()函数获得一个Iterator对象;

4.Python的for循环的本质就是通过不停调用next()函数实现,如:

for x in [1, 2, 3, 4, 5]:
    pass

等价于:

# 首先获得Iterator对象:
it = iter([1, 2, 3, 4, 5])
# 循环:
while True:
    try:
        # 获得下一个值:
        x = next(it)
    except StopIteration:
        # 遇到StopIteration就退出循环
        break

发现光看文档学有点慢也好无聊。。

猜你喜欢

转载自blog.csdn.net/InSunshine_/article/details/81626964