Partition[list,n]
list を重複しない長さ n のサブリストに分割する.
Partition[list,n,d]
d をオフセットとするサブリストを作成する.
Partition[list,{n1,n2,…}]
ネストされたリストを n1×n2×…のサイズのブロックに分割する.
Partition[list,{n1,n2,…},{d1,d2,…}]
list でレベル i でオフセット diを使う.
Partition[list,n,d,{kL,kR}]
list の最初の要素が最初のサブリストの kLの位置に,list の最後の要素が最後のサブリストの kRの位置またはそれ以降に現れることを指定する.要素の追加が必要な場合,Partitionは list を循環的に扱い,充填する.
Partition[list,n,d,{kL,kR},x]
必要なら要素 x を反復して充填する.
Partition[list,n,d,{kL,kR},{x1,x2,…}]
必要なら要素 xiを循環的に反復し充填する.
Partition[list,n,d,{kL,kR},{}]
充填しないので異なった長さのサブリストを与えることがある.
Partition[list,nlist,dlist,{klistL,klistR},padlist]
ネストされたリストで整形および充填を指定する.
Partition
Partition[list,n]
list を重複しない長さ n のサブリストに分割する.
Partition[list,n,d]
d をオフセットとするサブリストを作成する.
Partition[list,{n1,n2,…}]
ネストされたリストを n1×n2×…のサイズのブロックに分割する.
Partition[list,{n1,n2,…},{d1,d2,…}]
list でレベル i でオフセット diを使う.
Partition[list,n,d,{kL,kR}]
list の最初の要素が最初のサブリストの kLの位置に,list の最後の要素が最後のサブリストの kRの位置またはそれ以降に現れることを指定する.要素の追加が必要な場合,Partitionは list を循環的に扱い,充填する.
Partition[list,n,d,{kL,kR},x]
必要なら要素 x を反復して充填する.
Partition[list,n,d,{kL,kR},{x1,x2,…}]
必要なら要素 xiを循環的に反復し充填する.
Partition[list,n,d,{kL,kR},{}]
充填しないので異なった長さのサブリストを与えることがある.
Partition[list,nlist,dlist,{klistL,klistR},padlist]
ネストされたリストで整形および充填を指定する.
詳細
- Partition[list,n,d]によって作成されるサブリストはすべて,長さが n となる.この結果,list の終りにある要素の中にはいずれのサブリストにも出現しないものがある.
- Partition[list,UpTo[n]]は,長さ n までの部分リストに分割する.最後の部分リストは短くてもよしとする.
- list の要素はすべて,Partition[list,n,1]により作成されたサブリストに現れる.
- Partition[list,n,d]において d が n より大きい場合,list の中部にある要素が飛ばされる. »
- 部分リストの長さは常にUpTo[n]で指定することができる.この場合,要素が n 個に満たない場合はより短い部分リストが返される.
- Partition[list,n,d,{kL,kR}]は,list の先頭または最後からはみ出すサブリストも許す.
- Partition[list,n,d,k]は,Partition[list,n,d,{k,k}]に等価である.
- {kL,kR}の通常の設定
-
{1,-1} はみ出しなし {1,1} 最大のはみ出しを最後で許す {-1,-1} 最大のはみ出しを最初で許す {-1,1} 最大のはみ出しを最初と最後で許す - Partition[list,n,d,{kL,kR},padlist]は,padlist の反復コピーを置き,list の一つのコピーを上に重ね,結果を分割する. »
- padlist の通常の設定
-
x 単一要素の反復で充填 {x1,x2,…} 要素の列の循環反復で充填 list list を循環的に扱って重点(デフォルト) {} 充填なし,異なった長さのサブリストが残る可能性がある - もし list の長さが s ならPartition[list,n,d]は,Max[0,Floor[(s+d-n)/d]]サブリストを生成する.
- Partition[list,{n1,n2,…,nr}]は,list のレベル r にある要素のブロックを,深さが r のネストされた周囲の要素のリストで置き換える. »
- もしオフセットが指定されていない場合,ここでの周囲とはすぐ隣を指し,オーバーラップしていないとする.
- Partition[list,{n1,n2,…},d]は,すべてのレベルでオフセット d を使用する.
- Partition[list,nlist,dlist,{{kL 1,kL 2,…},{kR 1,kR 2,…}}]は,list の要素{1,1,…}が結果の{1,1,…}ブロックの{kL 1,kL 2,…}の位置に現れ,list の要素{-1,-1,…}が結果の{-1,-1,…}ブロックの位置{kR 1,kR 2,…}またはその後に現れることを指定する.
- {kL,kR}は,{{kL,kL,…},{kR,kR,…}}と等価である.
- {{k1,k2,…}}は,{{k1,k2,…},{k1,k2,…}}に等価である.
- Partition[list,{n1,n2,…,nr},klist,padlist]は,padlist のコピーで深さが r の配列を作成し,その上に list を重ね,結果を分割する.
- もし list の次元が{s1,s2,…,sr}なら,Partition[list,{n1,n2,…,nr}]の次元は{q1,q2,…,qr,n1,n2,…,nr}となる.ただし qiはFloor[si/ni]で与えられるものとする.
- オブジェクト list には,頭部Listがある必要はない. »
- PartitionはSparseArrayオブジェクトに使うことができる.
例題
すべて開く すべて閉じる例 (6)
Partition[{a, b, c, d, e, f}, 2]Partition[{a, b, c, d, e, f}, 3, 1]Partition[{{11, 12, 13}, {21, 22, 23}, {31, 32, 33}}, {2, 2}, 1]Partition[{a, b, c, d, e, f}, UpTo[4]]Partition[{a, b, c, d, e, f}, 5, 1, {1, 1}]Partition[{a, b, c, d, e, f}, 5, 1, {-1, 1}]Partition[{a, b, c, d, e, f}, 3, 1, {1, 1}, pad]Partition[{a, b, c, d, e, f}, 3, 1, {-1, -1}, pad]Partition[{a, b, c, d, e, f}, 3, 1, {-1, 1}, pad]Partition[{a, b, c, d, e, f}, 4, 1, {-1, 1}, {pad, dap}]スコープ (18)
充填 (7)
Partition[{a, b, c, d, e, f, g}, 3]Partition[{a, b, c, d, e, f, g}, 3, 1]Partition[{a, b, c, d, e, f, g}, UpTo[3]]Partition[{a, b, c, d, e, f, g}, UpTo[3], 1]Partition[{a, b, c, d, e, f, g}, 3, 3, 1]Partition[{a, b, c, d, e, f, g}, 3, 3, 1, x]Partition[{a, b, c, d, e, f, g}, 3, 3, 1, {x, y, z}]Partition[{a, b, c, d, e, f, g}, 3, 3, 1, {}]Nothingで充填し,同じ結果を得る:
Partition[{a, b, c, d, e, f, g}, 3, 3, 1, Nothing]Partition[{a, b, c, d, e, f, g}, 3, 3, -1, {}]充填整列 (6)
Partition[{a, b, c, d, e, f, g}, 3, 1, 1, x]Partition[{a, b, c, d, e, f, g}, 3, 1, -1, x]Partition[{a, b, c, d, e, f, g}, 3, 1, {-1, 1}, x]Partition[{a, b, c, d, e, f, g}, 3, 1, {1, -1}, x]最初のサブリストの位置2から入力を始め,最後のサブリストの位置1で入力を終了するようにする:
Partition[{a, b, c, d, e, f, g}, 3, 1, {2, 1}, x]Partition[{a, b, c, d, e, f, g}, 4, 1, {-1, 1}, {x, y}]多次元配列 (5)
Partition[{{11, 12, 13, 14}, {21, 22, 23, 24}, {31, 32, 33, 34}, {41, 42, 43, 44}}, {2, 2}]MatrixForm[%]オフセット1で2×2のブロックに分割する.行と列の末尾はxxで充填する:
Partition[{{11, 12, 13}, {21, 22, 23}, {31, 32, 33}}, {2, 2}, 1, 1, xx]MatrixForm[%]オフセット1で2×2のブロックに分割する.両次元で配列が循環的であるとする:
Partition[{{11, 12, 13}, {21, 22, 23}, {31, 32, 33}}, {2, 2}, 1, 1]MatrixForm[%]MatrixForm[Partition[{{11, 12, 13}, {21, 22, 23}, {31, 32, 33}}, {2, 2}, 1, {-1, {-1, 1}}, xx]]MatrixForm[Partition[{{11, 12, 13}, {21, 22, 23}, {31, 32, 33}}, {2, 2}, 1, {{-1, 1}, 1}, xx]]一般化と拡張 (4)
Partition[{a, b, c, d, e, f, g, h}, 2, 3]ブロックサイズよりも長いリストを使って充填することもできる:
Partition[{a, b, c, d, e, f, g}, 3, 3, {5, -5}, x]頭部がListである必要はない:
Partition[f[a, b, c, d], 2]PartitionはSparseArrayオブジェクトと一緒に使うことができる:
Partition[SparseArray[{i_, i_} -> 1, {6, 6}], {2, 2}]アプリケーション (5)
Grid[Partition[Table[Prime[n], {n, 50}], 10]]Partition[{1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0}, 2, 1]Partition[{a, b, c, d, e}, 2, 1]Divide@@@%Partition[{a, b, c, d, e, f}, 3, 1, 2]Grid[NestList[(Partition[#, 3, 1, 2] /. {x_, _, y_} :> Mod[x + y, 2])&, {0, 0, 0, 0, 1, 0, 0, 0, 0}, 4]]unflatten[e_, {d__ ? ((IntegerQ[#] && Positive[#])&)}] := Fold[Partition, e, Take[{d}, {-1, 2, -1}]] /; (Length[e] === Times[d])unflatten[{a, b, c, d, e, f}, {2, 3}]dims = {2, 3, 4};
unflatten[Range[Times@@dims], dims]m = {{1, 2, 3}, {4, 5, 6}};
unflatten[Flatten[m], Reverse[Dimensions[m]]]特性と関係 (3)
Partition[{a, b, c, d, e, f}, 2]Flatten[%]Partitionの結果の部分リストは同じ長さである:
Partition[Range[12], 3]UpToを使うと,最後が短いリストでもよい:
Partition[Range[12], UpTo[5]]TakeListを使うと部分リストの長さを指定することができる:
TakeList[Range[12], {1, 4, 5, 2}]ListCorrelate[ker,list]は,実質的に ker を分割された list と結合する:
ker = {x, y};
list = Range[10];ListCorrelate[ker, list]リストをオフセット1で ker の長さの線分に分割(Partition)する:
pl = Partition[list, Length[ker], 1]Dotを使って核を各線分と結合する:
Map[ker.#&, pl]核が反対になる点を除いてListConvolveと似ている:
ListConvolve[ker, list]Map[Reverse[ker].#&, pl]関連するガイド
-
▪
- リストの並べ替えと再構築 ▪
- 行列の構成 ▪
- 画像のフィルタリングと近傍処理 ▪
- リスト操作 ▪
- データの配列の操作
履歴
1988 で導入 (1.0) | 1999 で更新 (4.0) ▪ 2000 (4.1) ▪ 2002 (4.2) ▪ 2003 (5.0) ▪ 2014 (10.0) ▪ 2015 (10.3)
テキスト
Wolfram Research (1988), Partition, Wolfram言語関数, https://reference.wolfram.com/language/ref/Partition.html (2015年に更新).
CMS
Wolfram Language. 1988. "Partition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/Partition.html.
APA
Wolfram Language. (1988). Partition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Partition.html
BibTeX
@misc{reference.wolfram_2026_partition, author="Wolfram Research", title="{Partition}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/Partition.html}", note=[Accessed: 26-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_partition, organization={Wolfram Research}, title={Partition}, year={2015}, url={https://reference.wolfram.com/language/ref/Partition.html}, note=[Accessed: 26-October-2026]}