Python2.7でイテレータクラスを作りました。
インデックスを返すようにしたかったため、タプルで返すようにしたのですが、インデックスが不要な場合、エラーとなってしまいます。

これをエラーなく、インデックスが不要な場合にも対応する方法を共有します。

class ItTest(object):

    def __init__(self):
        self.list = [10, 20, 30]

    def __iter__(self):
        self.index = 0
        self.max = len(self.list)
        return self

    def next(self):
        if self.index >= self.max:
            raise StopIteration
        output_index = self.index
        output = self.list[self.index]
        self.index += 1
        return output_index, output


def main():
    # OK
    for index, x in ItTest():
        print(x+1)
    # エラー
    for x in ItTest():
        print(x+1)