From: Bill B. <wb...@gm...> - 2006-08-21 23:48:12
|
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 <dav...@gm...> wrote: > > > > On 8/21/06, Robert Kern <rob...@gm...> 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. > |