这是一个反向迭代器类,用于迭代一个列表的元素,但是按照逆序的方式返回。

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)

该类使用 __iter__ 方法来创建自身,并在 __next__ 方法中实现反向迭代逻辑。每次调用 next 方法时,_i 指针会向后移动,并返回列表中相应的元素。当 _i 指针到达列表开头时,会抛出 StopIteration 异常,表示迭代结束。


原文地址: https://www.cveoy.top/t/topic/pafu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录