python迭代器,生成器

迭代器Iterator

迭代器是一种方法数组或者说集合的一种方式,也是一种对象,只有next方法,不能采用索引下标的方式方法,迭代一个集合数组不需要这个数据的所有元素都存在只有在用到的时候在存在即可

1
2
3
4
5
lst = range(10)
print(type(lst)) # 输出是 <type 'list'> 这是一个list
new_lst = iter(lst)
print(new_lst) # 输出是 <listiterator object at 0x107b1e510> 这个是迭代器的对象
new_lst.__next__() # 迭代器使用next()方法返回迭代器的下个值如果下一个没有值,就会出现一个StopIteration的异常

生成器generator

把一个返回迭代器的函数称之为生成器,python的函数一般是使用return 进行返回值,如果采用yield 那么这个函数就不是普通的函数了 这个函数成为生成器
而这个函数返回的就是一个迭代器。

1
2
3
def func():
print("Start")
yield 1

文章目录
  1. 1. 迭代器Iterator
  2. 2. 生成器generator