# Re: list combinations

• To: mathgroup@smc.vnet.net
• Subject: [mg11014] Re: list combinations
• From: Paul Abbott <paul@physics.uwa.edu.au>
• Date: Mon, 16 Feb 1998 18:15:21 -0500
• Organization: University of Western Australia
• References: <6c8r3a\$b0d@smc.vnet.net>

```Daniel Sanders wrote:

> I have a bit of bother here about creating a list.  The problem: Given a
> set of lists of the same dimension, example
> list={{1,2},{2,3},{5,6},{7,8}}, I want to join them in sets of two such
> that every combination is joined.  So, if list is of Dimensions={5,2},
> the new list will be of Dimensions={10,2,2}.

Here is one way:

In[1]:= list = {{1, 2}, {2, 3}, {5, 6}, {7, 8}, {9, 10}}

Form the set of all possible pairs (somewhat inefficient for the
following):

In[2]:= Outer[{#1, #2} & , list, list, 1]

Delete all pairs with duplicate First and Last elements:

In[3]:= Union[Sort /@ Select[Flatten[%, 1], First[#1] =!= Last[#1] & ]]

Out[3]= {{{1, 2}, {2, 3}}, {{1, 2}, {5, 6}}, {{1, 2}, {7, 8}}, {{1,
2}, {9, 10}}, {{2, 3}, {5, 6}}, {{2, 3}, {7, 8}}, {{2, 3}, {9,
10}}, {{
5, 6}, {7, 8}}, {{5, 6}, {9, 10}}, {{7, 8}, {9, 10}}}

In[4]:= Dimensions[%]
Out[4]= {10,2,2}

Here is another:

In[5]:= Flatten[Table[{list[[i]], list[[j]]}, {i, Length[list]},
{j, i + 1, Length[list]}],1]
Out[5]= {{{1, 2}, {2, 3}}, {{1, 2}, {5, 6}}, {{1, 2}, {7, 8}},
{{1, 2}, {9, 10}}, {{2, 3}, {5, 6}}, {{2, 3}, {7, 8}},
{{2, 3}, {9, 10}}, {{5, 6}, {7, 8}}, {{5, 6}, {9, 10}}, {{7, 8}, {9,
10}}}

In[6]:= Dimensions[%]
Out[6]= {10, 2, 2}

Cheers,
Paul

____________________________________________________________________
Paul Abbott                                   Phone: +61-8-9380-2734
Department of Physics                           Fax: +61-8-9380-1014
The University of Western Australia            Nedlands WA  6907
mailto:paul@physics.uwa.edu.au  AUSTRALIA
http://www.pd.uwa.edu.au/~paul

God IS a weakly left-handed dice player
____________________________________________________________________

```

• Prev by Date: Re: fuctional differentiation in Mathematica
• Next by Date: ANNOUNCE: Math::ematica 1.105 - Perl talks to Mathematica talks to Perl
• Prev by thread: Re: list combinations
• Next by thread: [Q] Problem with combinatorica