Vincent Davis wrote: > As a note I am doing this in py3. > > I am looking for the most efficient (speed) way to produce an an > iterator to of permutations. > One of the problem I am having it that neither combinations nor > permutations does not exactly what I want directly. > For example If I want all possible ordered lists of 0,1 of length 3 > (0,0,0) > (0,0,1) > (0,1,1) > (1,1,1) > (1,0,1) > (1,1,0) > (1,0,0) > I don't see a way to get this directly from the itertools. But maybe I > am missing something.
>>> for t in itertools.product([0, 1], repeat=3): ... print(t) ... (0, 0, 0) (0, 0, 1) (0, 1, 0) # Seems you missed one (0, 1, 1) (1, 0, 0) (1, 0, 1) (1, 1, 0) (1, 1, 1) > I see ways to get a bigger list and then remove > duplicates. > >>>> list(permutations([0,1], 3)) > [] > >>>> list(combinations_with_replacement('01',3)) > ('0', '0', '0') > ('0', '0', '1') > ('0', '1', '1') > ('1', '1', '1') > > Is it possible to get combinations_with_replacement to return numbers > rather than strings? (see above) >>> for t in itertools.combinations_with_replacement([0, 1], 3): ... print(t) ... (0, 0, 0) (0, 0, 1) (0, 1, 1) (1, 1, 1) Peter -- http://mail.python.org/mailman/listinfo/python-list