Язык Wolfram Language

Основной язык программирования

Генерирование всех разбиений списка

Новые функции FoldPair и FoldPairList позволяют одновременно отображать функцию выхода и функцию обновления состояния.

Возьмите список длиной в 5 элементов.

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

Используйте FoldPairList вместе с TakeDrop для генерирования деления следующих длин.

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

Для создания всех разбиений найдите все возможные разложения числа 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]=

Родственные примеры

de en es fr ja ko pt-br zh