On Mon, 10 Dec 2007 16:54:08 -0800, mosi wrote: > Python matrices are usually defined with numpy scipy array or similar. > e.g. >>>> matrix1 = [[1, 2], [3, 4], [5, 6]] > I would like to have easier way of defining matrices, for example: >>>> matrix = [1, 2; 3, 4; 5, 6] > >>>> matrix = > [ 1, 2; > 3, 4; > 5, 6;] > > Any ideas how could this be done? The ";" sign is reserved, the "[ ]" is > used for lists.
You could have some class `Matrix` with a constructor taking a string, as in ``Matrix("[1, 2; 3, 4; 5, 6]")``. A very naive parser could just strip trailing/leading brackets and all spaces, split on ';', split again on ',', done. > Also, how to program custom operations for this new "class?" matrix ??? > > For example: >>>> matrix + 2 > [ 3, 4; > 5, 6; > 7, 8;] > > Possibly with operator overloading? Yes, by simply overloading __add__ et al. See http://docs.python.org/ref/ specialnames.html for details (certainly, "Emulating numeric types" should be interesting to you). > I appreciate all your comments, directions, pointers. mosi Cheers, -- http://mail.python.org/mailman/listinfo/python-list