最近在看《python核心编程》,这篇就算是读书笔记了。
1. Python迭代器就是有一个next()方法的对象,而不是通过索引来计数。条目全部取出后,会引发一个StopIteration异常,表示迭代完成
2.如果想要再次or同时迭代同个对象,只能去创建另一个迭代器对象。
3. Python提供了一整个itertools模块,它包含各种有用的迭代器。
4. 使用迭代器:
(1)序列
(2)字典
in 操作符可以用于检查字典的key是否存在
(3)文件
文件对象生成的迭代器会自动调用readline() 方法
5. 在迭代可变对象的时候修改它们并不是个好主意
6. 对一个对象调用iter()就可以得到它的迭代器,语法如下:
iter(obj)
iter(func, sentinel)
如果传递一个参数给 iter(),它会检查你传递的是不是一个序列
如果传递两个参数给 iter(),它会重复地调用 func, 直到迭代器的下个值等于 sentinel