Wolfram Language

Langage de base

Générez toutes les partitions d'une liste

Les nouvelles fonctions FoldPair et FoldPairList permettent de mapper simultanément une fonction de sortie et une fonction de mise à jour d'état.

Prenez une liste de longueur 5 à être partitionnée.

In[1]:=
Click for copyable input
list = {a, b, c, d, e};

Utilisez FoldPairList avec TakeDrop pour générer une partition des longueurs suivantes.

In[2]:=
Click for copyable input
lengths = {2, 2, 1}; FoldPairList[TakeDrop, list, lengths]
Out[2]=

Pour construire toutes les partitions, trouver toutes les décompositions possibles du numéro 5.

In[3]:=
Click for copyable input
lengthsAll = Flatten[Permutations /@ IntegerPartitions[5], 1]
Out[3]=
In[4]:=
Click for copyable input
FoldPairList[TakeDrop, list, #] & /@ lengthsAll // Column
Out[4]=

Exemples connexes

de en es ja ko pt-br ru zh