Python迭代器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python迭代器相关的知识,希望对你有一定的参考价值。
- 凡是可作用于for循环的对象都是Iterable类型;
- 凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列(迭代器);
- 集合数据类型如list、dict、str等都是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象;
- Python的for循环本质上就是通过不断调用next()函数实现的,例如:
1 for x in rang(5): 2 pass
实际上完全等给于:
1 # 首先获得Iterator对象: 2 it = iter([0,1,2,3,4]) 3 # 循环: 4 while True: 5 try: 6 # 获得下一个值 7 x = next(it) 8 except StopIteration: 9 # 遇到StopIteration就退出循环 10 break
以上是关于Python迭代器的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在这个 python 片段中得到 float 是不可迭代的? [复制]
python:可迭代对象,迭代器,生成器函数,生成器的解析举例代码说明