Re: How do I use Select[list,condition]?
- To: mathgroup at smc.vnet.net
- Subject: [mg4534] Re: How do I use Select[list,condition]?
- From: wagner at motel6.cs.colorado.edu (Dave Wagner)
- Date: Wed, 7 Aug 1996 04:17:41 -0400
- Organization: University of Colorado, Boulder
- 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? The argument to the pure function in Select is an individual element of the list being selected, not an index. Thus, the test you want is #[[2]]==2&. (Local) In[15]:= Select[data, #[[2]]==2&] (Local) Out[15]= {{1, 2, b, 4, 5, 6}, {2, 2, b, 2, 3, 4}, {3, 2, b, 7, 8, 9}} It's eve easier to do this using Cases and a pattern: (Local) In[16]:= Cases[data, {_,2,__}] (Local) Out[16]= {{1, 2, b, 4, 5, 6}, {2, 2, b, 2, 3, 4}, {3, 2, b, 7, 8, 9}} In my opinion, this code is easier to understand at a glance -- the pattern is quite explicit. Dave Wagner Principia Consulting (303) 786-8371 dbwagner at princon.com http://www.princon.com/princon ==== [MESSAGE SEPARATOR] ====