[Numpy-discussion] numpy.random.rand function doesn't take tuple
Bill Baxter
wbaxter at gmail.com
Mon Aug 21 18:48:09 CDT 2006
If you like, here's a rand function that takes either a sequence or a
tuple. I use this for interactive sessions.
def rand(*shape):
"""
Return an array of the given dimensions which is initialized to
random numbers from a uniform distribution in the range [0,1).
rand(d0, d1, ..., dn) -> random values
or
rand((d0, d1, ..., dn)) -> random values
"""
if len(shape) == 0 or not hasattr(shape[0],'__getitem__'):
return numpy.random.rand(*shape)
else:
if len(shape) != 1:
raise TypeError('Argument should either be a tuple or an
argument list')
else:
return numpy.random.rand(*shape[0])
On 8/22/06, David Grant <davidgrant at gmail.com> wrote:
>
>
>
> On 8/21/06, Robert Kern <robert.kern at gmail.com> wrote:
> >
> > David Grant wrote:
> > > I was a bit surprised today to find that numpy.random.rand doesn't
> > > take in a tuple as input for the dimensions of the desired array. I am
> > > very used to using a tuple for zeros, ones. Also, wouldn't this mean
> > > that it would not be possible to add other non-keyword arguments to
> > > rand later?
> >
> > Don't use rand(), then. Use random(). rand()'s sole purpose in life is
> > to *not*
> > take a tuple. If you like, you can read the archives on the several
> > (long)
> > discussions on this and why things are the way they are now. We finally
> > achieved
> > something resembling consensus, so please let's not resurrect this
> > argument.
>
>
>
> Thanks everyone. My only question now is why there is random_sample and
> random. My guess is that one is there for compatibility with older releases
> and so I'm not bothered by it.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20060822/4ac5f82b/attachment-0001.html
More information about the Numpy-discussion
mailing list