Wolfram Language

Linguagem de núcleo

Gere todas as divisões de uma lista

As novas funções FoldPair e FoldPairList permite mapear simultaneamente uma função de saída e uma função de atualização de estado.

Pegue uma lista de comprimento 5 para ser dividida.

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

Use FoldPairList junto com TakeDrop para gerar a divisão dos seguintes comprimentos.

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

Para construir todas as divisões, enconte todas as decomposições possíveis do número 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]=

Exemplos Relacionados

de en es fr ja ko ru zh