Re: Getting stuck with finding an elegant solution without global variables

*To*: mathgroup at smc.vnet.net*Subject*: [mg124814] Re: Getting stuck with finding an elegant solution without global variables*From*: Ray Koopman <koopman at sfu.ca>*Date*: Wed, 8 Feb 2012 05:28:44 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <jgqpmc$n0p$1@smc.vnet.net>

On Feb 7, 1:08 am, Fredob <fredrik.dob... at gmail.com> wrote: > Hi, > > I am trying to find an elegant solution, i.e. without a global > variable to the following problem: > > Given a list, e.g. {1,2,3,4}, create a new list where each element is > a function of the "i th" element and the rest of the list, e.g. > > Branch[Elem_, List_] := Elem + Cases[List, Except[Elem]] > > The the result would be {{3, 4, 5}, {3, 5, 6}, {4, 5, 7}, {5, 6, 7}} > > I have used Map[f, List] but then I have to use a global variable in f > to access the list itself, e.g. BranchG[Elem_] := Elem + Cases[List, > Except[Elem]] In[1]:= f[a_List] := a + Array[Delete[a,#]&,Length@a] In[2]:= f@{1,2,3,4} Out[2]= {{3,4,5},{3,5,6},{4,5,7},{5,6,7}}