TreeMapAt

TreeMapAt[f,tree,pos]

tree 中の pos で指定された位置にあるデータに f を適用する.

TreeMapAt[f,tree,{pos1,pos2,}]

f を複数位置のデータに適用する.

TreeMapAt[f,pos]

木に適用可能なTreeMapAtの演算子形である.

詳細とオプション

  • TreeMapAtTree オブジェクトの任意の位置にあるデータの部分に関数を適用する.
  • TreeMapAt[f,tree,{i,j,}]は関数 f を位置{i,j,}のデータに適用する.
  • TreeMapAtは,TreePositionが返す位置指定やTreeInsertおよびTreeReplacePartのような関数が使う位置指定の拡張形式を使うことができる. »
  • 個々の位置指定 pos{part1,part2,}として与えることができる.以下はその部分指定 partiの可能な形である.
  • ii^ 番目の子
    -i最後から i 番目の子
    {i1,i2,}部分番号が i1, i2, の子のリスト
    Allすべての子
    m;;nm から n までの子
    "key"キーが"key"の子
    Key[k]任意のキー k を持つ子
    TreeLevel[levelspec]levelspec で指定されたレベルにある部分木
    TreeCases[pattern]pattern にマッチするデータを持つ部分木
    TreeSelect[crit]critTrueを与える部分木
  • TreeMapAt[f,tree,{p1,p2,}]{p1,p2,}は,piがすべてリストの場合は個々の位置指定のリストであると解釈される.{p1,p2,}は,それ以外の場合は個々の位置指定とみなされる. »
  • TreeMapAtは,Partにおけるのと同じキーの指定を使って部分木のAssociationを含む木に使うことができる. »
  • TreeMapAtは,位置のリストで特定の位置が複数回言及されている場合は,その位置に f を繰り返し適用する. »
  • TreeMapAt[f,pos][tree]TreeMapAt[f,tree,pos]に等しい.
  • TreeMapAtにはTreeと同じオプションが使える.

例題

すべて開くすべて閉じる

  (3)

f を木の2番目の子のデータにマッピングする:

任意の位置にマッピングする:

複数の位置にマッピングする:

TreeMapAtの演算子形を使う:

スコープ  (14)

部分指定  (9)

3番目の子にマッピングする:

最後から2番目の子にマッピングする:

すべての子にマッピングする:

奇数位置にマッピングする:

Keyを使って位置を指定する:

文字列のキーについては Keyは必要ない:

レベルの範囲にマッピングする:

パターンと一致するデータにマッピングする:

厳密に2つの子がある部分木にマッチングする:

異なる指定を使ってマッピングする:

連想  (5)

キーを使って連想を含む木にマッピングする:

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

キーを使って連想を含む木にマッピングする:

位置を使って連想を含むキーにマッピングする:

連想を含む木のいくつかの部分木にマッピングする:

連想を含む木のネストした部分木にマッピングする:

連想を含む木のいくつかのネストした部分木にマッピングする:

特性と関係  (8)

TreeMap[f,tree,levelspec]TreeMapAt[f,tree,TreeLevel[levelspec]]に等しい:

式の中の頭部から木を構築する:

TreeMapAtは木の部分木のデータにマッピングする:

これは式の中の頭部と葉にマッピングすることに相当する:

MapAtは頭部と葉に直接マッピングできる:

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

TreeMapAt[f,tree,{{i1,j1,},{i2,j2,},}]@TreeMapAt[f,{i2,j2,}]@TreeMapAt[f,{i1,j1,}]@tree に等しい:

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

位置{}へのマッピングは関数を根のノードに適用する:

TreeMapAtは,位置が繰り返し言及されているなら,f を繰返し適用する:

TreeMapAtTreePositionが返す位置のリストを使うことができる:

これはTreeExtractが返すデータである:

TreeMapAt[f,tree,{p1,p2,}]は,すべての piがリストなら{p1,p2,}を個々の位置指定のリストとして扱う:

{{1,2},{3,4}}のときは,位置{1,2}{3,4}のデータは変更される:

任意の piがリストではないなら,{p1,p2,}は部分指定のリストとして扱われる:

{{{1,2},{3,4}}}のときは,部分12の部分34が変更される:

考えられる問題  (2)

TreeMapAt[f,tree,{}]は位置のリストが空なので f をマッピングしない:

TreeMapAt[f,tree,{{}}]f を位置{}にマッピングするが,これは根ノードに相当する:

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

結果として,Partでは等しい指定がTreeMapAtでは異なることがある:

PartTreeMapAtで一貫性が必要ならリストのリストを使う:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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