MathGroup Archive 2006

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

Search the Archive

Re: Selecting table rows


Skirmantas wrote:
> I have a 2D-table whose first column contains the unique identifiers (ID) of each row (IDs can be any numbers). I need to delete all rows whose IDs are not members of another, control list.
>
> The following works, but I'm wondering if there is a shorter way to do this.
>
> TBL = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}, {17, 18, 19, 20}};
>
> CNTR = {1, 9, 17};
>
> Map[Part[TBL, #]&, Flatten[Map[Position[Transpose[TBL][[1]], #]&, CNTR]]]
>
> Thanks --
>
> Skirmantas

There are faster ways to do this, but the one that I suspect is least
likely to have you scratching your head and asking yourself "What was
I doing here?" when you look at the code some months from now, is

  Select[TBL,MemberQ[CNTR,#[[1]]]&]


  • Prev by Date: Re: Illusory Multicore Support in 5.2?
  • Next by Date: Re: Setting up equations
  • Previous by thread: Re: Selecting table rows
  • Next by thread: Re: Selecting table rows