Combining sets/dictionaries
Adrien
adrien at pas-de-spam.com
Tue Sep 22 08:59:36 EDT 2009
Hi,
Did you try the list.update() builtin function ?
Regards
Peter Otten a écrit :
> 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
>
More information about the Python-list
mailing list