在学习迭代器过程中,感觉很难理解,还是要放在实例中说明。、
理解迭代器的话,可以从for… in…循环语句中。
1、序列
number = [1,2,3,4,5]
for i in number:
print(i)
得到结果:
1
2
3
4
5
上面这个例子在学习for循环语句时,很容易理解。但其实,这就是一个迭代器的用法,列表是可以迭代的。每一次循环,寻找到的是列表中的下一个元素,即next()。
2、字典
text = {'a':1,'b':2,'c':3}
for i in text.keys():
print(i)
得到结果:
a
b
c
text.keys()返回包含字典的键的一个列表[‘a’,’b’,’c’],因此含义与前面的列表迭代一样。
当然,字典也是可以直接迭代的,字典的迭代器会遍历它的键,因此上面的循环语句可以直接写成:
text = {'a':1,'b':2,'c':3}
for i in text:
print(i)
得到的结果是一样的:
a
b
c
3、文件
同样,文件也是可以迭代的一种数据类型,自动遍历它的每一行。
f = open('c:/text.txt')
for eachline in f:
print(i)
假设‘text.txt’中的内容是下面的,那输出的结果如下:
这是一个测试
这是一个教程
这是一个方法
上面的语句 for eachline in f 等同于for eachline in f.eachlines()
迭代器的使用据说很灵性,还需要多多学习。