Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1998

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

Search the Archive

Re: variation on Split [comp.soft-sys.math.mathematica]

  • To: mathgroup at
  • Subject: [mg12683] Re: variation on Split [comp.soft-sys.math.mathematica]
  • From: "P.J. Hinton" <paulh>
  • Date: Mon, 1 Jun 1998 23:16:54 -0400
  • Organization: "Wolfram Research, Inc."
  • Sender: owner-wri-mathgroup at

> ------ From "Barthelet, Luc" <lucb at>
> Split[{a,b,c,d,d,e,f,g,g,h,h,h}] return
> {{a},{b},{c},{d,d},{e},{f},{g,g},{h,h,h}}
> What do you have to do to get:
> {{a,b,c},{d,d},{e,f},{g,g},{h,h,h}}

How about a wrapper function for Split that postprocesses the output?

In[1]:= groupedSplit[lst_List]:= 
  Module[ {splt = Split[lst] }, 
    splt //. ({u___,x_List,{y_}, v___}/;
            Apply[UnsameQ ,x]&& Length[y] == 0) :> {u,Join[x,{y}],v} ]

In[2]:= groupedSplit[{a,b,c,d,d,e,f,g,g,h,h,h}]

Out[2]= {{a, b, c}, {d, d}, {e, f}, {g, g}, {h, h, h}}

P.J. Hinton	
Mathematica Programming Group		paulh at Wolfram Research,

  • Prev by Date: How to get PostScript file in text mode.
  • Next by Date: Re: Mathematica's nesting.
  • Previous by thread: Re: How to get PostScript file in text mode.
  • Next by thread: Re: Differential geometry