Vincent Nijs wrote: > Say I use a function that expects a boolean array called sel to be passed as > an argument: > > def foo(x,sel = None): > return x[sel] > > If x is a 1-d array and sel is a (1-d) boolean array, x.shape will give (n,) > where n is len(x). > > However, if the default value None is used (i.e., when no boolean array is > passed) x.shape will give (1,n). > > Is that expected behavior?
Yes. numpy.newaxis is just an alias for None, so x[None] is the same as x[numpy.newaxis]. > If so is there an alternative default to I could use that would return the > entire x array and have x.shape be (n,)? def foo(x, sel=None): if sel is None: return sel else: return x[sel] -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion