Extract

Extract[expr,pos]

expr から pos で指定される位置にある部分を抽出する.

Extract[expr,{pos1,pos2,}]

expr の部分のリストを抽出する.

Extract[expr,pos,h]

expr から抽出した部分に頭部 h を適用し,評価する.

Extract[pos]

式に適用可能なExtractの演算子形を表す.

詳細

  • Extract[expr,{i,j,}]は,整数 i, j, についてはPart[expr,i,j,]に等しい. »
  • Extractの位置指定は,Positionの戻す値や,MapAtReplacePart等の関数で使われる形式に従う. »
  • 個々の位置指定 pos は,より一般的な{part1,part2,}という形式でも行える.ただし partiは,整数 iAllSpan[]のようなPart指定である. »
  • 1レベルの複数部分を抽出する指定はそのレベルの頭部を保持する. »
  • 抽出した成分を評価しないのなら,Extract[expr,,Hold]の書式を使う. »
  • expr SparseArrayオブジェクトまたは構造化配列のとき,Extract[expr,]は通常の配列の対応する部分を抽出する. »
  • Extractは,Partにおけるのと同じキー指定を使ってAssociationオブジェクトに使うことができる. »
  • Extract[pos][expr]Extract[expr,pos]に等しい.

例題

すべて開くすべて閉じる

  (5)

式から2番目の部分を抽出する:

同じことを演算子形を使って行う:

式のネストした部分を抽出する:

いくつかのネストした部分を式から抽出する:

行列の第2列を抽出する:

Positionが与える部分を抽出する:

スコープ  (25)

単一の位置と複数の位置  (5)

リストから単一の要素を抽出する:

リストから複数の要素を抽出する:

行列の位置{1,3}の部分を抽出する:

行列の最初と3番目の要素(行)を抽出する:

行列の位置の長さが1のリストを抽出する:

行列からいくつかの要素を抽出する:

規則の右辺を抽出し,評価されないように結果をHoldでラップする:

リストからいくつかの部分を抽出し,各部分をHoldでラップする:

Allを含む形式  (5)

行列の第2行を抽出する:

同様のことを行う:

行列の第2列を抽出する:

第1列と第3列を部分行列として抽出する:

第1列と第3列を別々の抽出して,事実上行列を作成する:

規則のリストのリストにある各リストから第1規則を抽出する:

2番目のリストにあるすべての規則から右辺を抽出する:

リストのリストにあるすべての規則から左辺を抽出する:

Allを使った抽出ではそのレベルの頭部が保持される:

Holdを使って評価を防ぎ,規則のリストからすべての右辺を抽出する:

Holdがないと,式が評価されて副作用が起きる:

規則のリストから2辺を別々に抽出し,2つの結果をHoldCompleteでラップする:

連想  (6)

キーを使って連想から一部を抽出する:

キーが文字列ならKeyラッパーは使っても使わなくてもよい:

キーを使って連想から一部を抽出する:

位置を使って連想から一部を抽出する:

連想から複数の部分を抽出する:

連想からネストした部分を抽出する:

連想から複数のネストした部分を抽出する:

連想からいくつかの値を評価しないで抽出する:

Holdがないと,連想中の値が評価されてメッセージが出される:

特殊配列の型  (3)

Extract[expr,]は,expr が疎な配列なら対応する通常配列から一部を抽出する:

部分配列はSparseArrayオブジェクトとして返される:

第1列と第3列を単一の疎な配列として抽出する:

通常配列に変換する:

独立した2つの列として抽出すると別々の配列のリストが返される:

通常配列に変換すると結果が最初に抽出したものの転置であることが分かる:

構造化配列からの抽出は対応する通常の配列の一部を抽出する:

可能な場合は,結果が別の構造化配列として返される:

スパンとサブリスト  (6)

リストの第3要素から第5要素までを抽出する:

奇数位置の要素を抽出する:

一般的な式からのスパンを抽出する(頭部が保持される):

各リストの最初の2要素を抽出する:

各リストの最初と最後の要素を抽出する:

2番目から4番目までの行の最初の要素を抽出する:

第1,第3,第4行の2番目の要素を抽出する:

最後の2行の第1,第2,第5番目の要素を抽出する:

第1列と第5列を抽出する:

リスト中の最初の2つの規則の右辺を評価されないようにして抽出する:

特性と関係  (6)

pos がリストではないなら,pos{pos}は等しい指定である:

整数のリスト{i,j,}については,Extract[expr,{i,j,}]Part[expr,i,j,]に等しい:

Extract[expr,{{i1,i2,},{j1,j2,},}]{Part[expr,i1,i2,],Part[expr,j1,j2,],}に等しい:

これは,空リストにも拡張される:

ExtractPositionの逆関数である:

Extract[expr,{pos1,pos2,},h]h は各 posiを抽出した結果をラップする:

単一の位置指定しか与えられていない場合は,h が最も外側の頭部になる:

1つのレベルから複数の部分を抽出する指定では,そのレベルの頭部が保持される:

考えられる問題  (2)

位置のリストが空なので,Extract[expr,{}]は部分式の空リストを返す:

Extract[expr,{{}}]は,式全体にあたる位置{}の部分リストを抽出する:

第2引数のリストのリストは,常に位置指定のリストとして解釈される:

結果として,Partにおいては同等の指定がExtractでは異なる扱いをうけることがある:

PartExtractの一貫性が必要な場合は,リストのリストを使って末端の余分なリストを削除する:

Wolfram Research (1996), Extract, Wolfram言語関数, https://reference.wolfram.com/language/ref/Extract.html (2021年に更新).

テキスト

Wolfram Research (1996), Extract, Wolfram言語関数, https://reference.wolfram.com/language/ref/Extract.html (2021年に更新).

CMS

Wolfram Language. 1996. "Extract." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/Extract.html.

APA

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

BibTeX

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

BibLaTeX

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