Python迭代器
来源:互联网 发布:用python写小游戏 编辑:程序博客网 时间:2024/05/22 05:17
#author F#迭代器#可直接作用于for循环的数据结构有: str,list,dict,set,tuple(元组),generate#这些可直接作用于for循环的对象统称为可迭代对象Iterable#判断一个对象是否是可迭代 可循环的 : isinstance()from collections import Iterableprint(isinstance([], Iterable))print(isinstance((), Iterable))print(isinstance('abc', Iterable))print(isinstance((2*i for i in range(10)), Iterable))print(isinstance(100, Iterable))print()###可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator###迭代器和可迭代对象不是一回事from collections import Iteratorprint(isinstance([], Iterator))print(isinstance((), Iterator))print(isinstance('abc', Iterator))print(isinstance((2*i for i in range(10)), Iterator))print(isinstance(100, Iterator))#生成器都是迭代器 list,dict,str是可迭代对象但不是迭代器 iter()函数可以将可迭代对象变为迭代器print(isinstance(iter([]), Iterator))print(isinstance(iter(()), Iterator))print(isinstance(iter('abc'), Iterator))print(isinstance((2*i for i in range(10)), Iterator))# print(isinstance(iter(100), Iterator)) #报错#迭代器的计算是惰性的 只有在需要下一个数据时才会返回 ->惰性运算#Iterator甚至可以表示一个无限大的数据流 例如全体自然数 而list 是永远不可能存储全体自然数#python3.0里range(10)本身就是一个迭代器对象#python2.0里xrange(10)才是一个迭代器对象for i in [1,2,3,4,5]: passit = iter([1,2,3,4,5])while True: try: #获得下一个值 next(it) except StopIteration: #遇到StopIteration就退出 break
阅读全文
0 0
- python迭代器
- python迭代器
- python 迭代器
- Python 迭代器
- Python:迭代器
- python 迭代器
- Python--迭代器
- python迭代器
- python 迭代器
- Python--迭代器
- python迭代器
- Python 迭代器
- Python 迭代器
- [python]迭代器
- python 迭代器
- python 迭代器
- Python 迭代器
- Python 迭代器
- iOS测试之一般流程和注意事项
- Jqgrid 的简单使用
- <class '__main__.'>
- Google机器学习(一) 安装Anaconda以及Scikit-learn等必备库
- Java开发基础回顾
- Python迭代器
- 【多校训练】hdu 5729 二分图
- Windows上查看android 内存和cpu占用率
- 判断系统大小端问题--
- 直播http-flv小调研
- python3手册 中的sorted 用法详解
- Webpack Hot Middleware安装和使用
- 使用SharedPreferences实现简单的记住用户名和密码功能
- C#判断当前目录文件是否