迭代类python

Iterating through a class python

本问题已经有最佳答案,请猛点这里访问。

我有一个向量类需要迭代。类包含一个列表变量。我需要迭代整个类。

我不知道该怎么做。我需要使用__iter__,它建议我使用yield,这是我想要的结果:

1
2
[x*2 for x in Vector([3,3.25,"foo"])]
[6, 6.5, 'foofoo']

ITER应该返回一个可以迭代向量元素的对象。我该怎么做呢?我以前从未用过__iter__


基本上:

1
2
3
def __iter__(self):
    for elt in self.l:
        yield elt