DMUG-Archiv 1999

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: Prozedur für Runs in einer einfachen Liste

> geg: eine einfache Liste mit nat. Zahlen
> 
> etwa {8,8,8,1,2,1,8,8,7,7,7,1,1,2,2,3}
> 
> gesucht: eine Prozdur so, dass ich erhalte:
> 
> {{8,8,8},{1},{2},{1},{8,8},{7,7,7},{1,1},{2,2},{3}}

Das Thema tauchte in dieser oder jener Form in den Programmierwettbewerben
früherer (vor Version 3.0) Mathematica-Konferenzen auf, und kann mehr oder
weniger elegant gelöst werden. Die zugrundeliegende Funktionalität erweist
sich als so nützlich, daß sie nun fest eingebaut ist:

In[2]:= Split[{8,8,8,1,2,1,8,8,7,7,7,1,1,2,2,3}]

Out[2]= {{8, 8, 8}, {1}, {2}, {1}, {8, 8}, {7, 7, 7}, {1, 1}, {2, 2}, {3}}

In[3]:= ?Split
Split[list] splits list into sublists consisting of runs of identical
   elements. Split[list, test] treats pairs of adjacent elements as identical
   whenever applying the function test to them yields True.

Beispiele weiterer interessanter Anwendungen von Split finden Sie in
den Unterlagen zu meinem Vortrag "Programming Bits" am IMS'97, siehe
<http://www.mathconsult.ch/math/stuff/>.

Roman Mäder


Verweise:
Prozedur für Runs in einer einfachen Liste
Wolfgang Hitzl, 08.05.1999

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 08.09.2003 20:45