range(len(self)) should be sufficient