Python

Python的基础知识之迭代器

2017-12-13  本文已影响492人  摸着石头过河_崖边树
tmpdir__17_9_7_15_03_47.jpg

一、概念

迭代:按照一定的顺序访问集合中的每一个元素,或者叫遍历(其他语言叫做遍历);

可迭代对象(Iterable):能被迭代的对象,或者说直接作用于for循环的对象,可以通过for..in来遍历的对象,比如数组(list)、元祖(tuple)字符串等;

迭代器(Iterator):能作用于next() 函数,并不断返回下一个值的对象称为迭代器,是惰性计算的序列(很重要)

二、常用操作

1、判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断

isinstance(判断对象,collections.Iterable)

2、判断一个对象是否是迭代器Iterator对象

isinstance(判断对象,collections.Iterator)

3、可迭代对象Iterable转化为迭代器对象Iterator

iter(可迭代对象)

4、使用迭代器迭代

itemiter = iter('abc')
for value in itemiter:
print(value)

三、总结

1、迭代器的特性
A.惰性计算数据,节省内存
B.能记录状态,并通过next()函数执行下一个状态
C.具有可迭代性

2、集合数据类型如list、dict、str、tuple等是可迭代对象Iterable但不是迭代器Iterator,不过可以通过iter()函数转化为一个Iterator对象

原因:Iterator对象表示的是一个数据流,Iterator对象可以被next()函数调用并不断返回下一个数据,直到没有数据时抛出StopIteration错误。Iterator对象表示一个无限大的数据,集合是有限集合,假如被next()到最后就是没有返回直接carsh

3、生成器(generator)一定是迭代器,他是一种特殊的迭代器;

如果想了解更多Python知识,请查看
Python的基础知识之生成器
Python的基础知识之装饰器

最后赠言

学无止境,学习Python的伙伴可以多多交流。

上一篇 下一篇

猜你喜欢

热点阅读