splits list into sublists consisting of runs of successive elements that give the same value when f is applied.


recursively splits list into sublists by testing elements successively with each of the fi.


  • SplitBy[list,] splits but does not rearrange list.
  • SplitBy performs comparisons only on adjacent pairs of elements.
  • SplitBy[list] is equivalent to SplitBy[list,Identity], which is also equivalent to Split[list].
  • SplitBy[list,{f1,f2}] is equivalent to Map[SplitBy[#,f2]&,SplitBy[list,f1]].


open allclose all

Basic Examples  (3)

Split into runs of numbers with identical integer part:

Split into runs of triples with identical first component:

Split first by their first component and then by their second:

Split dates into runs with identical year:

Applications  (1)

Split by sign:

Introduced in 2008