Alfons Nonell-Canals wrote: > I have different sets/dictionaries/lists (whatever you want because I > can convert them easily) and I would like to combine them. I don't want > a consensus and something like it. I'd need to combine all elements of > the first one with the all elements of the second one and third,... the > numbers of dictionaries/sets/lists is variable as the number of elements > for each one. > > For example, i have the following sets and I would like to obtain all > possible combinations... > > ['I', 'O', 'N', 'P', 'S', 'C'] > ['I', 'O', 'N', 'P', 'S', 'C'] > ['I', 'O', 'N', 'P', 'S', 'C'] > ['I', 'N', 'P', 'S', 'C'] > ['I', 'N', 'P', 'S', 'C'] > ['F', 'I', 'L', 'O', 'N', 'P', 'S', 'R', 'C'] > ['I', 'O', 'N', 'P', 'S', 'C'] > ['I', 'O', 'N', 'P', 'S', 'C'] > ['F', 'I', 'L', 'O', 'N', 'P', 'S', 'R', 'C'] > > And it should be flexible because as I've said, the number of > dictionaries/lists/sets is not always the same, as the number of elements. > > I don't like to ask this kid of questions but... today I'm totally lost > and I need it to close one part of a nice project...
Using one common definition of "combinations": >>> from pprint import pprint >>> pprint(items) [['I', 'O', 'N', 'P', 'S', 'C'], ['I', 'O', 'N', 'P', 'S', 'C'], ['I', 'O', 'N', 'P', 'S', 'C'], ['I', 'N', 'P', 'S', 'C'], ['I', 'N', 'P', 'S', 'C'], ['F', 'I', 'L', 'O', 'N', 'P', 'S', 'R', 'C'], ['I', 'O', 'N', 'P', 'S', 'C'], ['I', 'O', 'N', 'P', 'S', 'C'], ['F', 'I', 'L', 'O', 'N', 'P', 'S', 'R', 'C']] >>> import itertools >>> for c in itertools.combinations(items, 2): ... print c ... (['I', 'O', 'N', 'P', 'S', 'C'], ['I', 'O', 'N', 'P', 'S', 'C']) (['I', 'O', 'N', 'P', 'S', 'C'], ['I', 'O', 'N', 'P', 'S', 'C']) (['I', 'O', 'N', 'P', 'S', 'C'], ['I', 'N', 'P', 'S', 'C']) (['I', 'O', 'N', 'P', 'S', 'C'], ['I', 'N', 'P', 'S', 'C']) <snip> If you mean something else (likely) please give a more detailed description or provide some examples with both input and desired output. Peter -- http://mail.python.org/mailman/listinfo/python-list