溫馨提示×

Python迭代器如何實現(xiàn)遍歷操作

小樊
81
2024-11-09 12:50:41
欄目: 編程語言

在Python中,迭代器是一個實現(xiàn)了__iter__()__next__()方法的對象。__iter__()方法返回迭代器對象本身,而__next__()方法返回容器的下一個值。當容器中沒有更多元素時,__next__()方法會拋出StopIteration異常。

要實現(xiàn)一個迭代器,你需要定義一個類,并在其中實現(xiàn)這兩個方法。下面是一個簡單的例子,實現(xiàn)了一個計數(shù)器迭代器:

class Counter:
    def __init__(self, start, end):
        self.start = start
        self.end = end

    def __iter__(self):
        return self

    def __next__(self):
        if self.start >= self.end:
            raise StopIteration
        else:
            self.start += 1
            return self.start - 1

# 使用計數(shù)器迭代器
counter = Counter(1, 6)
for num in counter:
    print(num)

在這個例子中,Counter類實現(xiàn)了__iter__()__next__()方法,使其成為一個迭代器。當我們使用for循環(huán)遍歷counter對象時,__next__()方法會逐個返回容器中的元素,直到拋出StopIteration異常,表示遍歷結(jié)束。

0