迭代器:
迭代是python最强大功能之一,是访问结合元素的一种方法。
迭代器是一个可以记住便利位置的对象。
迭代器从集合地第一个元素进行访问,直到所有元素被访问完结束。迭代器只能往前不能后退。
迭代器的两个基本方法iter()和next()。
字符串 列表 元组对象都可以用于创建迭代器:
实例:
list =[1,2,3,4]
it = iter(list) #创建迭代器对象
print(next(lt)) # 输出迭代器元素
1
迭代器可以使用for循环进行便利:
list=[1,2,3,4]
it =iter(list) # 创建迭代器对象
for i in it: # for 循环便利
print(i)
生成器:
在python中使用yield的函数被称之为生成器。
和普通函数不一样的是,生成器是一个带有返回迭代器的函数,只能用于迭代器操作即生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
调用一个生成器函数,返回的是一个迭代器对象。
实例使用yield 实现斐波那契数列:
生成器小结:
只有在调用相对应时才会生成数据
生成器只能向前 不能向后 (只会记住当前位置)__next__ ()方法