迭代器
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
#迭代器
list1=["abc",123,467]
it=iter(list1)
#一次迭代
#print(next(it))
#循环迭代
for x in it:
print(x)
还可以使用while迭代,需要 try,except
import sys # 引入 sys 模块
list=[1,2,3,4]
it = iter(list) # 创建迭代器对象
while True:
try:
print (next(it))
except StopIteration:
sys.exit()
自定义迭代器
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
x = self.a
self.a += 1
return x
myclass = MyNumbers()
myiter = iter(myclass)
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
停止迭代
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)
生成器
见期末复习代码
本文介绍了迭代器的基本概念及其在Python中的应用方式。包括如何使用iter()和next()方法进行迭代操作,通过for循环和while循环实现集合遍历,并展示了自定义迭代器及生成器的实现方法。
1276

被折叠的 条评论
为什么被折叠?



