赞
踩
Python中的迭代器(Iterator)是一个可以遍历数据集合的对象,它定义了一个__next__()方法,用于返回集合中的下一个元素。当所有元素都被遍历完后,会触发StopIteration异常。以下是迭代器的使用方法:
my_list = [1, 2, 3]
my_iterator = iter(my_list)
print(next(my_iterator)) # 输出1
print(next(my_iterator)) # 输出2
print(next(my_iterator)) # 输出3
my_str = "Hello, World!"
my_iterator = iter(my_str)
for char in my_iterator:
print(char)
输出结果为:
H
e
l
l
o
,
W
o
r
l
d
!
class EvenIterator: def __init__(self, my_list): self.my_list = my_list self.index = 0 def __iter__(self): return self def __next__(self): while self.index < len(self.my_list): if self.my_list[self.index] % 2 == 0: value = self.my_list[self.index] self.index += 1 return value else: self.index += 1 raise StopIteration my_list = [1, 2, 3, 4, 5, 6] my_iterator = EvenIterator(my_list) for num in my_iterator: print(num)
输出结果为:
2
4
6
在这个例子中,定义了一个EvenIterator类,它包含了__iter__()和__next__()方法。iter()方法返回迭代器自身,next()方法返回列表中的下一个偶数,如果列表中已经没有偶数,就触发StopIteration异常。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。