迭代器和iter()函数
2015-07-17 14:20
417 查看
1、先来个例子,有个初步的印象:
上面的代码中通过iter()函数显式的使用了迭代器,而迭代器就是一个包含了next函数的类,同时
平时我们在使用如:
时也使用到了迭代器,其真实的工作代码应该如下:
而,平时我们在显式的使用迭代器时也应该像上面一样将迭代器包裹在try…except…中
2、使用的类型
除元组外,列表、字典、文件等都可以使用,
如字典类型
字典的迭代器会遍历它的键
3、注意事项
在迭代可变对象时,不要试图修改它们。
myTuple=(123,'xyz',45.67) i=iter(myTuple) i.next() 123 i.next() 'xyz' i.next() 45.67 i.next() Traceback (most recent call last): File "", line 1, in? StopIteration
上面的代码中通过iter()函数显式的使用了迭代器,而迭代器就是一个包含了next函数的类,同时
平时我们在使用如:
for i in seq: do_something_to(i)
时也使用到了迭代器,其真实的工作代码应该如下:
fetch=iter(seq) while True: try: i = fetch.next() except StopIteration: break do_something_to(i)
而,平时我们在显式的使用迭代器时也应该像上面一样将迭代器包裹在try…except…中
2、使用的类型
除元组外,列表、字典、文件等都可以使用,
如字典类型
for eachkey in myDict: do_something_to(i)
字典的迭代器会遍历它的键
3、注意事项
在迭代可变对象时,不要试图修改它们。
相关文章推荐
- 有图有真相!弱爆了!戳进来看!
- ASP.NET MVC程序中动态修改form的Action值
- hiho一下 连通性·三 强连通分量
- spring ioc原理
- MySQL安装与测试
- 数据库级别触发器
- Android Studio中使用android:src="@drawable/ic_launcher"报错
- BZOJ 2073: [POI2004]PRZ( 状压dp )
- 问题-delphi在某电脑(win7)上是界面超乱 DPL
- webrtc编译之libcommonaudio
- php -- 魔术方法 之 判断属性是否存在或为空:__isset()
- phototype
- Python做矩阵运算
- git-everything-is-cool阅读笔记
- poj解题报告——1363
- CI框架学习之七 ( 常用图像处理 封装 )
- 内核线程
- Operation category READ is not supported in state standby解决
- web前端性能意义、关注重点、测试方案、优化技巧
- 教程-Delphi调用C# WEBSERVICE(二)