Combining sets/dictionaries

Carl Banks pavlovevidence at gmail.com
Tue Sep 22 09:43:30 EDT 2009


On Sep 22, 3:08 am, Alfons Nonell-Canals <alfons.non... at upf.edu>
wrote:
> Hello,
> 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']

This is the input.  What do you want the output to look like given
this input?

I can't really tell exactly what you mean by "all combinations", there
are different ways to combine sequences, and it doesn't sound like you
mean the formal mathematical definition of "combination".

My best guess is that you want something like this.

def all_union(seqs):
    s = set()
    for seq in seqs:
        s.update(seq)
    return s


Carl Banks



More information about the Python-list mailing list