Python学习笔记(一)迭代器
1、python迭代器是一种对象,该对象包含值的可计数数字
2、迭代器是可迭代的对象,这意味着您可以遍历所有值。
3、在 Python 中,迭代器是实现迭代器协议的对象,它包含方法 iter() 和 next()。
迭代器和迭代对象
列表、元组、字典和集合都是可迭代的对象。它们是可迭代的容器,您可以从中获取迭代器(Iterator)。
所有这些对象都有用于获取迭代器的 iter() 方法
mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)
print(next(myit))
print(next(myit))
print(next(myit))
apple
banana
cherry
mystr = "banana"
myit = iter(mystr)
print(next(myit))
b
mytuple = ("apple", "banana", "cherry")
for x in mytuple:
print(x)
apple
banana
cherry
提示:for 循环实际上创建了一个迭代器对象,并为每个循环执行 next() 方法。
为了防止迭代永远进行,我们可以使用 StopIteration 语句。
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
if self.a <= 20:
x = self.a
self.a += 1
return x
else:
raise StopIteration
myclass = MyNumbers()
myiter = iter(myclass)
for x in myiter:
print(x)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20