MathGroup Archive 2004

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

Search the Archive

Re: Selecting by first element of each list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg48147] Re: Selecting by first element of each list
  • From: astanoff at yahoo.fr (Valeri Astanoff)
  • Date: Fri, 14 May 2004 20:59:02 -0400 (EDT)
  • References: <c81i3m$509$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

"camartin at snet.net" <camartin at snet.net> wrote in message news:<c81i3m$509$1 at smc.vnet.net>...
> Hi,
> 
> I'm trying to learn to handle a flat file kind of database using 
> Mathematica. An example is the list of lists below:
> 
> {{2,3,4,5,77},{2,4,5,66,77},{3,4,7,8,90,6},{3,5,6,7,8,0},{3,45,67,77,12}}
> 
> It's actually more complicated than this but good enough for 
> illustrative purposes. The first element in each list is actually an 
> identifier, like an account number. I want to create a list of lists 
> with each account, that is,
> 
> {{{2,3,4,5,77},{2,4,5,66,77}}, 
> {{3,4,7,8,90,6},{3,5,6,7,8,0},{3,45,67,77,12}}}.
> 
> When I use Select with an anonymous function such as
> 
> Select[list1,#1[[1]] = = #2[[1]]&]
> 
> I get an error because it stops (of course) after the first two lists. I 
> get the right grouping for the first list but it doesn't finish. I don't 
> understand how to use the anonymous function to go through my list (it's 
> got several thousand entries) and select and group by the first element 
> in each group. I've been through the archive but nothing there quite helps.
> 
> I would appreciate some direction.
> 
> Thanks
> 
> Cliff
Here is my oneliner solution : 
In[1]:=
myList={{2,3,4,5,77},{2,4,5,66,77},{3,4,7,8,90,6},{3,5,6,7,8,0},{3,45,67,77,
      12}};
In[2]:=
myList // Function[n,Select[#,First[#] == n&]] /@ Union[#[[All,1]]]& 
Out[2]=
{{{2,3,4,5,77},{2,4,5,66,77}},{{3,4,7,8,90,6},{3,5,6,7,8,0},{3,45,67,77,12}}}
---
hth
va


  • Prev by Date: AppellF1 Question
  • Next by Date: Re: Selecting by first element of each list
  • Previous by thread: Re: Selecting by first element of each list
  • Next by thread: Re: Selecting by first element of each list