MathGroup Archive 2004

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

Search the Archive

Re: Selecting by first element of each list



Split[list1, #1[[1]] == #2[[1]] &].

This will give you what you want, provided first lists that belong together
appear consecutively.


<camartin at> schrieb im Newsbeitrag news:c81i3m$509$1 at
> 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
> I would appreciate some direction.
> Thanks
> Cliff

  • Prev by Date: Re: A special kind of partitions of an integer
  • Next by Date: Re: Drawing a globe, with countries and great circle routes
  • Previous by thread: Re: Selecting by first element of each list
  • Next by thread: Re: Selecting by first element of each list