Python 逆序迭代器:ReverseListIterator 类实现
Python 逆序迭代器:ReverseListIterator 类实现
本示例代码展示如何使用 Python 类来实现一个逆序迭代器 ReverseListIterator,该迭代器可以方便地以逆序遍历列表中的元素。
class ReverseListIterator:
def __init__(self, data):
self._data = data
self._i = len(data)
def __next__(self):
if self._i == 0:
raise StopIteration
self._i -= 1
return self._data[self._i]
def __iter__(self):
return ReverseListIterator(self._data)
示例代码:
data = [1, 2, 3, 4, 5]
reverse_iter = ReverseListIterator(data)
for item in reverse_iter:
print(item)
# Output:
# 5
# 4
# 3
# 2
# 1
代码解释:
__init__(self, data): 初始化方法,接收一个列表作为输入,并将其存储在self._data属性中,self._i初始化为列表长度,用于记录当前迭代位置。__next__(self): 迭代器协议方法,返回下一个元素。如果self._i为 0,则表示已到达列表末尾,抛出StopIteration异常。否则,将self._i减 1,并返回当前位置的元素。__iter__(self): 迭代器协议方法,返回迭代器本身,用于在循环中使用。
通过使用 ReverseListIterator 类,我们可以轻松地以逆序遍历列表中的元素。该方法高效简洁,方便理解和使用。
原文地址: https://www.cveoy.top/t/topic/pafP 著作权归作者所有。请勿转载和采集!