Python中如何正确运用迭代器和生成器?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1675个文字,预计阅读时间需要7分钟。
一、生成器(Generator)1、可迭代的对象+ __iter__ 方法 的都称为可迭代的对象。Python 内置的 str、list、tuple、dict、set、file 等都是可迭代的对象。x +=1.__iter__
一、迭代器(foreach)1、可迭代的对象内置有__iter__方法的都叫可迭代的对象。
Python内置str、list、tuple、dict、set、file都是可迭代对象。
x = 1.__iter__ # SyntaxError: invalid syntax # 以下都是可迭代的对象 name = 'nick'.__iter__ print(type(name)) # 'method-wrapper'>2、迭代器对象
执行可迭代对象的__iter__方法,拿到的返回值就是迭代器对象。
只有字符串和列表都是依赖索引取值的,而其他的可迭代对象都是无法依赖索引取值的,只能使用迭代器对象。
内置有
__iter__方法,执行该方法会拿到迭代器本身。内置
__next__方法,执行该方法会拿到迭代器对象中的一个值。
本文共计1675个文字,预计阅读时间需要7分钟。
一、生成器(Generator)1、可迭代的对象+ __iter__ 方法 的都称为可迭代的对象。Python 内置的 str、list、tuple、dict、set、file 等都是可迭代的对象。x +=1.__iter__
一、迭代器(foreach)1、可迭代的对象内置有__iter__方法的都叫可迭代的对象。
Python内置str、list、tuple、dict、set、file都是可迭代对象。
x = 1.__iter__ # SyntaxError: invalid syntax # 以下都是可迭代的对象 name = 'nick'.__iter__ print(type(name)) # 'method-wrapper'>2、迭代器对象
执行可迭代对象的__iter__方法,拿到的返回值就是迭代器对象。
只有字符串和列表都是依赖索引取值的,而其他的可迭代对象都是无法依赖索引取值的,只能使用迭代器对象。
内置有
__iter__方法,执行该方法会拿到迭代器本身。内置
__next__方法,执行该方法会拿到迭代器对象中的一个值。

