迭代器和生成器
2019-05-13 本文已影响0人
gracexinxin
1.迭代器
迭代是python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter()生成迭代器和next()遍历迭代器元素
字典中默认迭代的是key值
2.生成器
生成器:使用了yield的函数
生成器是一个返回迭代器的函数,只能用于迭代操作。
在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行next()方法是从当前位置继续运行。
python有两种不同的方式提供生成器(生成器函数和生成器表达式)
生成器小结:
1.是可迭代对象
2.实现了延迟计算,省内存啊
3.生成器本质和其他的数据类型一样,都是实现了迭代器协议,只不过生成器附加了一个延迟计算省内存的好处
send():生成器函数最大的特点是可以接受外部传入的一个变量,并根据变量内容计算结果后返回。