迭代器
迭代器的作用:
迭代器的作用就是迭代,可以让不是序列但是表现出序列行为,例如迭代字典的键,文件的行
迭代器的定义:
- 提供可扩展的迭代器接口
- 对列表迭代带来性能上的增强
- 在字典迭代中性能提升
- 创建真正的迭代接口,而不是原来的随机对象访问
- 与所有已经存在的用户定义的类以及扩展的模拟序列和映射的对象向后兼容
- 迭代非序列集合(例如映射和文件)时,可以创建更简洁可读的代码
迭代器就是由next()方法的对象
内建函数:
reverse()反序迭代器
enumerate()返回迭代器
any()迭代器中某个值为true时返回true
all()迭代器中全部值为true时返回true
使用迭代器
序列使用迭代器:
myTuple = (123,'xyz',45.67)
i = iter(myTuple)
i.next()
for i in seq:
do_something_to(i)
字典中使用迭代器:
字典的迭代器会迭代字典的键值
for eachKey in myDict.keys():
print "%s key",eachKey,"%s data",myDict[eachKey]
文件中使用迭代器:
for eachline in open('abc.txt'):
XXXX
如何创建迭代器
对一个对象调用iter()就可以得到它的迭代器
iter(obj)
iter(func,sentinel)
类如果要使用迭代器需要实现
iter()方法和next()方法