生成器, 迭代器, 可迭代对象的关系

可迭代对象

能使用 for 循环

for i in obj:
    xxxx

的都是可迭代对象

 

生成器

生成器不但可以作用于for循环,还可以通过next()函数不断返回下一个值

生成器有两种形生成器不但可以作用于for循环,还可以通过next()函数不断返回下一个值式, 一种是将列表生成式的两侧的方括号换成圆括号; 第二种就是在函数中增加yield关键字

迭代器

生成器都是迭代器

调用一个生成器函数,返回的是一个迭代器对象。

list、tuple、dict等对象虽然是可迭代的(Iterable),但却并不是迭代器(Iterator)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章