목록의 전체 분할 생성
새로운 함수 FoldPair와 FoldPairList를 사용하면 출력 함수와 상태 업데이트 함수에 동시 매핑이 가능합니다.
길이 5의 목록을 분할합니다.
In[1]:=
list = {a, b, c, d, e};
FoldPairList를 TakeDrop과 함께 사용하여 다음의 길이를 분할합니다.
In[2]:=
lengths = {2, 2, 1};
FoldPairList[TakeDrop, list, lengths]
Out[2]=
모든 분할을 얻기 위해 5라는 숫자의 가능한 모든 분해를 구합니다.
In[3]:=
lengthsAll = Flatten[Permutations /@ IntegerPartitions[5], 1]
Out[3]=
In[4]:=
FoldPairList[TakeDrop, list, #] & /@ lengthsAll // Column
Out[4]=