一、可迭代对象与迭代器对象
在遍历一个非常大的文件时如果一次性读取全部内容然后在进行输出可能会导致内存不够的想象,正确的方式应该是读取一条输出一条,这样可以极大的节约内容空间,那么如何实现对象的迭代?
首先来看看 可迭代
、迭代器
的区别:
可迭代
既可迭代对象
,指的是可以通过for
循环进行遍历的对象,常见的 list, string, tuple, set, dict 等都是可迭代对象
,数字不是可迭代对象。如果一个对象实现了__iter__方法,这个对象就是可迭代对象。迭代器
既迭代器对象
指实现了__iter__方法和__next__方法的对象。
# 可迭代对象
list_data = ['peter', 'tom', 'clint', 'stark']
string_data = 'Stark Industry'
for item in list_data:
print(item)
for str in string_data:
print(str)
复制代码
执行上述代码,输出结果如下:
peter
tom
clint
stark
S
t
a
r
k
I
n
d
u
s
t
r
y
复制代码
list_data = ['peter', 'tom', 'clint', 'stark']
string_data = 'Stark Industry'
print(iter(list_data))
print(iter(string_data))
print(iter(1))
复制代码