Partition

Partition[list,n]

list を重複しない長さ n のサブリストに分割する.

Partition[list,n,d]

d をオフセットとするサブリストを作成する.

Partition[list,{n1,n2,}]

ネストされたリストを n_(1)×n_(2)×のサイズのブロックに分割する.

Partition[list,{n1,n2,},{d1,d2,}]

list でレベル i でオフセット diを使う.

Partition[list,n,d,{kL,kR}]

list の最初の要素が最初のサブリストの kLの位置に,list の最後の要素が最後のサブリストの kRの位置またはそれ以降に現れることを指定する.要素の追加が必要な場合,Partitionlist を循環的に扱い,充填する.

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]において dn より大きい場合,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,}要素の列の循環反復で充填
    listlist を循環的に扱って重点(デフォルト)
    {}充填なし,異なった長さのサブリストが残る可能性がある
  • もし 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}となる.ただし qiFloor[si/ni]で与えられるものとする.
  • オブジェクト list には,頭部Listがある必要はない. »
  • PartitionSparseArrayオブジェクトに使うことができる.

例題

すべて開くすべて閉じる

  (4)

長さ2のサブリストに分割する:

長さ3でオフセット1のサブリストに分割する:

二次元配列をオフセットが1の2×2ブロックに分割する:

最後のリストが他のものより短くてもよしとする:

スコープ  (18)

充填  (7)

末尾の不完全なサブリストはデフォルトで除去される:

最後の要素が短くなる「不揃い」の分割を許容する:

リストを循環的に扱う:

xで充填する:

{x,y,z}ブロックを繰り返して充填する:

末尾の方のサブリストが短くできるように充填を使わない:

Nothingで充填し,同じ結果を得る:

末尾から分割し,充填は行わない:

充填整列  (6)

末尾に充填する:

先頭に充填する:

両端を充填する:

充填は行わない:

最初のサブリストの位置2から入力を始め,最後のサブリストの位置1で入力を終了するようにする:

{x,y}のコピーを繰り返し置くことで充填する:

多次元配列  (5)

2×2のブロックに分割する:

オフセット1で2×2のブロックに分割する.行と列の末尾はxxで充填する:

オフセット1で2×2のブロックに分割する.両次元で配列が循環的であるとする:

列の先頭および行の先頭と末尾に充填する:

列の先頭と末尾,および行の末尾に充填する:

一般化と拡張  (4)

ブロックサイズよりも大きなオフセットを用いて要素を飛ばす:

ブロックサイズよりも長いリストを使って充填することもできる:

頭部がListである必要はない:

PartitionSparseArrayオブジェクトと一緒に使うことができる:

アプリケーション  (5)

リストを二次元で展開するために分割する:

リスト中の連続する要素のペアを求める:

リスト中の連続する割合を求める:

初歩的なセルオートマトンを実行する:

要素の平坦なリストを指定の次元の多次元配列に分割する:

連続する整数の多次元配列を作る:

行列を再構成する:

特性と関係  (3)

Flattenは実質的にPartitionの逆を行う:

Partitionの結果の部分リストは同じ長さである:

UpToを使うと,最後が短いリストでもよい:

TakeListを使うと部分リストの長さを指定することができる:

ListCorrelate[ker,list]は,実質的に ker を分割された list と結合する:

リストをオフセット1で ker の長さの線分に分割(Partition)する:

Dotを使って核を各線分と結合する:

核が反対になる点を除いてListConvolveと似ている:

Wolfram Research (1988), Partition, Wolfram言語関数, https://reference.wolfram.com/language/ref/Partition.html (2015年に更新).

テキスト

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_2024_partition, author="Wolfram Research", title="{Partition}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/Partition.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_partition, organization={Wolfram Research}, title={Partition}, year={2015}, url={https://reference.wolfram.com/language/ref/Partition.html}, note=[Accessed: 21-November-2024 ]}