Générez toutes les partitions d'une liste
Les nouvelles fonctions FoldPair et FoldPairList permettent d'appliquer simultanément une fonction de sortie et une fonction de mise à jour d'état.
Prenez une liste de longueur 5 à partitionner.
In[1]:=

list = {a, b, c, d, e};
Utilisez FoldPairList avec TakeDrop pour générer une partition des longueurs suivantes.
In[2]:=

lengths = {2, 2, 1};
FoldPairList[TakeDrop, list, lengths]
Out[2]=

Pour construire toutes les partitions, trouvez toutes les décompositions possibles du numéro 5.
In[3]:=

lengthsAll = Flatten[Permutations /@ IntegerPartitions[5], 1]
Out[3]=

In[4]:=

FoldPairList[TakeDrop, list, #] & /@ lengthsAll // Column
Out[4]=
