座机 发表于 2017-5-4 10:54:28

python之迭代器与生成器

  二者都是生成一个缓存列表,生成器(generators)更像一个加强型的迭代器(iterators).二者都使用next()来取得数据;

迭代器: (使用iter()方法)

            a = 'abc';

               it = iter(a);print it.next()

         For就是一个经典的迭代器用法.

                for i in a:print i (for就是当出现stopIteration错误时知道退出循环)

生成器:(使用yield关键字)

      生成器使用关键字yield来推出数据;生成器同时还拥有send(val)来修改值及close()来关闭生成器;

      例:斐波拉切数列:

              


def fib():
a,b = 0,1
while True:
yield b
a,b = b,a+b
f = fib()
print
页: [1]
查看完整版本: python之迭代器与生成器