Python迭代器与生成器基本用法分析
2018-07-26 08:38
861 查看
本文实例讲述了Python迭代器与生成器基本用法。分享给大家供大家参考,具体如下:
迭代器
可以进行for循环的数据类型包括以下两种:
1. 集合数据类型比如
list,
tuple,
dict,
str等
2. 另一种是生成器
而他们都是可迭代对象,称为
Iterable
Isinstandce()可以用来判断对象是否为可迭代对象
>>> from collections import Iterable >>> isinstance([], Iterable) True >>> isinstance({}, Iterable) True >>> isinstance('abc', Iterable) True >>> isinstance((x for x in range(10)), Iterable) True >>> isinstance(100, Iterable) False
然后,只有生成器可以称为迭代器,因为他们是不断使用
next()函数返回值的,属于惰性计算,而对于迭代器也有一个判断函数
>>> from collections import Iterator >>> isinstance((x for x in range(10)), Iterator) True >>> isinstance([], Iterator) False >>> isinstance({}, Iterator) False >>> isinstance('abc', Iterator) False
生成器
生成器:就是未循环完的列表,这是为了节约电脑内存,设立的一种一边循环一边计算的机制。
创建的方法也是很简单,其中一种就是把列表生成式的
[]改成
()就可以了
而调用的时候也一般不用麻烦的next()的方法,而是用for循环来遍历
比如:
g= (x*x for x in range(10)) for n in g: print(n)
这样就能遍历出所有的生成器中的元素
另一种生成器的方法:如果函数中包含有yield关键字,则这是一个生成器
def odd(): print('step 1') yield 1 print('step 2') yield(3) print('step 3') yield(5)
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Python迭代器与生成器用法实例分析
- 7064-2.Python数据分析:pandas基本用法(下)
- Python列表推导式与生成器用法分析
- python生成器generator用法实例分析
- python生成器generator用法实例分析
- Python迭代器定义与简单用法分析
- Python lambda函数基本用法实例分析
- Python 生成器与迭代器 yield 案例分析
- python中迭代器(iterator)用法实例分析
- Python生成器定义与简单用法实例分析
- python中getaddrinfo()基本用法实例分析
- Python爬虫之正则表达式基本用法实例分析
- Python中的迭代器与生成器高级用法解析
- 7064-1.Python数据分析:pandas基本用法(上)
- 举例讲解Python中的迭代器、生成器与列表解析用法
- Python迭代器和生成器定义与用法示例
- 5.python(迭代器,装饰器,生成器,基本算法,正则)
- Python日志模块logging基本用法分析
- python中getaddrinfo()基本用法实例分析
- 举例讲解Python中的迭代器、生成器与列表解析用法