这是一个反向遍历列表的迭代器类。

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)

该类实现了一个名为 ReverseListIterator 的迭代器,它接受一个列表作为参数,并使用 __next__ 方法反向遍历列表。当到达列表末尾时,__next__ 方法会抛出 StopIteration 异常。__iter__ 方法返回迭代器本身,以便可以对迭代器进行循环遍历。

使用方法:

my_list = [1, 2, 3, 4, 5]

for item in ReverseListIterator(my_list):
    print(item)

输出:

5
4
3
2
1

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

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