Combinations of lists
Joshua Landau
joshua.landau.ws at gmail.com
Wed Oct 3 15:08:03 EDT 2012
On 3 October 2012 15:26, Steen Lysgaard <boxeakasteen at gmail.com> wrote:
> Hi,
>
> I am looking for a clever way to compute all combinations of two lists.
> Look at this example:
>
> h = ['A','A','B','B']
> m = ['a','b']
>
> the resulting combinations should be of the same length as h and each
> element in m can be used twice. The sought after result using h and m from
> above is:
>
> [['aA', 'aA', 'bB', 'bB'],
> ['aA', 'aB', 'bA', 'bB'],
> ['aB', 'aB', 'bA', 'bA']]
>
> (the order of the results does not matter i.e. ['aA', 'aA', 'bB', 'bB']
> and ['aA', 'bB', 'aA', 'bB'] are considered the same)
>
> This is achieved by the code below, this however needs to go through all
> possible combinations (faculty of len(h)) and rule out duplicates as they
> occur and this is too much if for example len(h) is 16.
>
> Can anyone guide me to a better solution?
What lengths can the two lists be?
Is len(h) === 2*len(m), or it it just this time?
Depending on your answer this could be easy or hard ;)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20121003/77c2f5fd/attachment.html>
More information about the Python-list
mailing list