J
John Ladasky
I would like to build a multi-dimensional array that allows numpy-style indexing and, ideally, uses Python's familiar square-bracket and slice notations.
For example, if I declare a two-dimensional array object, x, then x[4,7] retrieves the element located at the 4th row and the 7th column. If I ask for x[3:6,1:3], I get a 3 x 2 array object consisting of the intersection of the 3rd-5th rows, and the 1st-2nd columns, of x.
In this case I'm not allowed to use numpy, I have to restrict myself to thestandard library. I thought that I might achieve the desired behavior by defining an object with specific __getitem__ and/or __getslice__ methods. However, the documentation of these methods that I am reading suggests thatthe arguments are pre-parsed into certain formats which may not allow me to do things numpy's way. Is this true?
For example, if I declare a two-dimensional array object, x, then x[4,7] retrieves the element located at the 4th row and the 7th column. If I ask for x[3:6,1:3], I get a 3 x 2 array object consisting of the intersection of the 3rd-5th rows, and the 1st-2nd columns, of x.
In this case I'm not allowed to use numpy, I have to restrict myself to thestandard library. I thought that I might achieve the desired behavior by defining an object with specific __getitem__ and/or __getslice__ methods. However, the documentation of these methods that I am reading suggests thatthe arguments are pre-parsed into certain formats which may not allow me to do things numpy's way. Is this true?