python - how to generate n random integers of k digits -
is there way create n random integers of k digits.
for example.. 2000 random integers comprising of [0, 2, 3]
my trick use random number of generator , assign values based on the ranges?
but wondering if there better way in python?
edit: example: [0,0,0, 2, 2,3,0,0,2,2,..... 2000 elements] comprising of 0,2 , 3 approach
def assign(x): if x< 0.3: return 0 elif x<0.6: return 2 else: return 3 x = np.random.rand(num) x = map(lamdba x:assign(x),x)
from sounds of it, looks want generate sequence of length n using values found within list k.
python's random.choice function combined list comprehension perfect this.
the following function generate list of length n each element being random element chosen k.
from random import choice def random_choices(n, k): return [choice(k) _ in xrange(n)] here same thing simple list comprehension.
from random import choice foo = [choice(k) _ in xrange(n)] *thanks mr.goosberry pointing out xrange should replaced range in python 3.x.x.
Comments
Post a Comment