Flatten

Flatten[list]

ネストしたリストを平坦化する.

Flatten[list,n]

レベル n までを平坦化する.

Flatten[list,n,h]

頭部 h を持つ部分式を平坦化する.

Flatten[list,{{s11,s12,},{s21,s22,},}]

結果的に各レベル i になるように全レベル sijを結合することで list を平坦化する.

詳細

  • Flattenは,内側のカッコを削除することでリストを「解く」.
  • Flatten[list,n]は,実質的にリスト list の最上レベルを n 回平坦にする.
  • Flatten[f[e,]]は,頭部が f の部分式を平坦にする.
  • mijが行列のとき,Flatten[{{m11,m12},{m21,m22}},{{1,3},{2,4}}]は,実質的に「ブロック」mijから単一の行列を構築する.
  • Flatten[list,{{i1},{i2},}]は,list 中のレベル ikが結果ではレベル k になるように,実質的に list 中のレベルを入れ換える.関数Transposeは実際のところ,この指定方法の逆を使用していることに注意のこと.
  • FlattenSparseArrayオブジェクトのレベルを,対応する通常の配列におけるのと同じように平坦化する. »

例題

すべて開くすべて閉じる

  (3)

リストをすべてのレベルで平坦化する:

レベル1でだけ平坦化する:

深さ3の配列のレベル2と3を結果の行列のレベル1に平坦化する:

スコープ  (5)

レベル指定  (5)

平坦化は行わない:

レベル1まで平坦化:

レベル2まで平坦化:

レベル3まで平坦化:

レベル4まで平坦化:

次はレベルを使ったのと同じである:

また,レベル指定を行わないのと同じである:

一般化と拡張  (4)

疎な配列を平坦化する:

Flattenは任意の頭部に使うことができる:

すべてのレベルをgについて平坦化する:

すべてのレベルをfについて平坦化する:

ここに行列がある:

u型のブロックの配列を1つの行列に平坦化する:

ブロックの転置を使って実質的に1つの行列に平坦化する:

アプリケーション  (5)

リストと個々の要素を統合する:

行列を解体する:

規則の平坦化したリストを作る:

不揃いの配列に「転置」を行う:

まず平坦化することで,配列の3つのレベルを単一のDot操作に簡約する:

レベルの3つのペアを明示的に簡約することで同じ結果を得る:

特性と関係  (5)

FlattenPartitionと逆の働きをする:

ArrayReshapeは矩形配列に対してはFlattenと逆の働きをする:

矩形配列 a については,ArrayFlatten[a,r]Flatten[a,{{1,r+1},{2,r+2},,{r,2r}}]に等しい:

Flattenは実質的に要素をその指標の辞書的順序に並べる:

置換 p とその逆の について,Flatten[a,List/@p-1]==Transpose[a,p]である:

ランダムな置換:

その逆を得る:

おもしろい例題  (1)

Framedの連続するレイヤーを剥ぎ取る:

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

テキスト

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

CMS

Wolfram Language. 1988. "Flatten." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2007. https://reference.wolfram.com/language/ref/Flatten.html.

APA

Wolfram Language. (1988). Flatten. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Flatten.html

BibTeX

@misc{reference.wolfram_2024_flatten, author="Wolfram Research", title="{Flatten}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/Flatten.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_flatten, organization={Wolfram Research}, title={Flatten}, year={2007}, url={https://reference.wolfram.com/language/ref/Flatten.html}, note=[Accessed: 22-November-2024 ]}