Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

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: [mg48135] RE: [mg48130] Selecting by first element of each list
  • From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
  • Date: Fri, 14 May 2004 20:58:50 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

>-----Original Message-----
>From: camartin at snet.net [mailto:camartin at snet.net]
To: mathgroup at smc.vnet.net
>Sent: Friday, May 14, 2004 6:12 AM
>To: mathgroup at smc.vnet.net
>Subject: [mg48135] [mg48130] Selecting by first element of each list
>
>
>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
>
>
>

Sort/Split:

In[38]:=
Split[Sort[{{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}}], First[#1] === First[#2] &]
Out[38]=
{{{2, 3, 4, 5, 77}, {2, 4, 5, 66, 77}}, {{3, 45, 67, 77, 12}, {3, 4, 7, 8,
90,
       6}, {3, 5, 6, 7, 8, 0}}}


--
Hartmut Wolf


  • Prev by Date: Re: Selecting by first element of each list
  • Next by Date: Re: A special kind of partitions of an integer
  • Previous by thread: Re: Selecting by first element of each list
  • Next by thread: Re: Selecting by first element of each list