Method(s) called by square brackets, slice objects

John Ladasky john_ladasky at sbcglobal.net
Wed Apr 9 16:24:32 EDT 2014


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 the standard 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 that the arguments are pre-parsed into certain formats which may not allow me to do things numpy's way.  Is this true?



More information about the Python-list mailing list