MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: position lists


On Aug 16, 2006, at 3:36 AM, rych wrote:

> have
>   In: a = {1, 1, 2, 2, 1, 4}
> want
>   {{1, 2, 5}, {3, 4}, {0}, {6}};
>
> more effectively than just
>   In: Position[a, #] & /@ Range[4]
>   Out: {{{1}, {2}, {5}}, {{3}, {4}}, {}, {{6}}}
>
> Ideas? Known one-liners?
> Thanks
> Igor

Not a one-liner, but gives a closer approximation to the desired result:

In[19]:=
Flatten[Last[Reap[i = 1;
      lenlst = Length[lst];
      While[i <= lenlst,
       Sow[Flatten[Position[
           lst, i]], i];
        i++; ], Range[
      Max[lst]]]], 2]
Out[19]=
{{1, 2, 5}, {3, 4}, {}, {6}}

János


---------------------------------------------------------
What is the difference between OS X and Vista ?

Microsoft employees are exited about OS X.

http://daringfireball.net/2006/04/windows_the_new_classic




  • Prev by Date: Re: Trigonometric simplification
  • Next by Date: Re: Need good reference for writing Stylesheets
  • Previous by thread: Re: position lists
  • Next by thread: Re: position lists