Hi Slava, Since your k is only 10, here is a quickie:
import numpy as np arr = np.arange(n) for i in range(k): np.random.shuffle(arr) print np.sort(arr[:p]) If your ever get non-unique entries in a set of k=10 for your n and p, consider yourself lucky:) Val On Mon, Feb 20, 2012 at 10:35 PM, Yaroslav Halchenko <li...@onerussian.com>wrote: > Hi to all Numeric Python experts, > > could not think of a mailing list with better fit to my question which > might > have an obvious answer: > > straightforward (naive) Python code to answer my question would be > something like > > import random, itertools > n,p,k=100,50,10 # don't try to run with this numbers! ;) > print random.sample(list(itertools.combinations(range(n), p)), k) > > so the goal is to get k (non-repeating) p-subsets of n, where n and p > prohibitively large to first populate the full set of combinations. > > Thank you in advance ;-) > -- > =------------------------------------------------------------------= > Keep in touch www.onerussian.com > Yaroslav Halchenko www.ohloh.net/accounts/yarikoptic > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion