Re: How do I use Select[list,condition]?
- To: mathgroup at smc.vnet.net
- Subject: [mg4540] Re: How do I use Select[list,condition]?
- From: earhart at athena.mit.edu (Elizabeth J Earhart)
- Date: Wed, 7 Aug 1996 04:17:46 -0400
- Organization: Massachvsetts Institvte of Technology
- Sender: owner-wri-mathgroup at wolfram.com
In article <4thatm$j6e at dragonfly.wolfram.com>,
Jason Welter <welter at texoma.com> wrote:
>I have a list that looks like:
>
>data = {{1,1,a,4,5,6},{2,1,a,2,3,4},{3,1,a,7,8,9},
> {1,2,b,4,5,6},{2,2,b,2,3,4},{3,2,b,7,8,9},
> {1,3,c,4,5,6},{2,3,c,2,3,4},{3,3,c,7,8,9}}
>
>and I want to pick out the lists that have a 2 as the second element
>of the list. I tried something like:
>
>data1 = Select[data,data[[#,2]]==2];
>
>but this doesn't work. How do I do it?
data1 = Select[data,(#[[2]]==2)&];
Don't forget the '&' sign to signify a pure function - that's my
own most common Mathematica typo (just edging out typing '=' instead
of '=='). The test is performed on each element of data, not on the
list as a whole. You could also use some variant on
data1 = Cases[data, ls_List /; ls[[2]]==2];
I use this form more often because the format is interchangeable with
Count[] and Position[].
-Elizabeth
==== [MESSAGE SEPARATOR] ====