On Thu, Jul 12, 2012 at 3:38 PM, Chao YUE <chaoyue...@gmail.com> wrote:
> Dear all, > > I want to create a function and I would like one of the arguments of the > function to determine what slicing of numpy array I want to use. > a simple example: > > a=np.arange(100).reshape(10,10) > > suppose I want to have a imaging function to show image of part of this > data: > > def show_part_of_data(m,n): > plt.imshow(a[m,n]) > > like I can give m=3:5, n=2:7, when I call function > show_part_of_data(3:5,2:7), this means I try to do plt.imshow(a[3:5,2:7]). > the above example doesn't work in reality. but it illustrates something > similar that I desire, that is, I can specify what slicing of > number array I want by giving values to function arguments. > > thanks a lot, > > Chao > > What you want to do is create slice objects. a[3:5] is equivalent to sl = slice(3, 5) a[sl] and a[3:5, 5:14] is equivalent to sl = (slice(3, 5), slice(5, 14)) a[sl] Furthermore, notation such as "::-1" is equivalent to slice(None, None, -1) I hope this helps! Ben Root
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion