On Apr 22, 8:33 am, Mizipzor <[EMAIL PROTECTED]> wrote: > With 1, I can typ vec.x and vec.y, very nice. With 2, I need to do > vec.vals[0] and vec.vals[1], which makes my eyes bleed.
If you add a __getitem__ method to the second vector class: def __getitem__(self, i): return self.vals[i] then you can use vecs[0] instead of vec.vals[0]. But this vector class has some other problems that you probably want to fix. For example, the __add__ method modifies the second argument: >>> a = Vector([1, 2, 3]) [1, 2, 3] >>> b = Vector([4, 5, 6]) [4, 5, 6] >>> c = a + b >>> print b.vals [5, 7, 9] Something like def __add__(self, other): return Vector(x + y for x, y in zip(self.vals, other.vals)) might work better. Similarly for the __sub__ method. Have you considered using numpy? Mark -- http://mail.python.org/mailman/listinfo/python-list