ReplaceAt

ReplaceAt[expr,rules,n]

通过用 rules 替换第 n 个元素来对 expr 进行转换.

ReplaceAt[expr,rules,{i,j,}]

替换 expr 在位置 {i,j,} 处的部分.

ReplaceAt[expr,rules,{{i1,j1,},{i2,j2,},}]

替换多个位置处的部分.

ReplaceAt[rules,pos]

表示可应用于表达式的 ReplaceAt 的算符形式.

更多信息

  • ReplaceAt 通常用于根据提供的替换规则更改表达式的一个或多个元素.
  • ReplaceAt[expr,rules,{i,j,}]rules 替换 expr[[i,j,]].
  • ReplaceAt[expr,rules,{{i1,j1,},{i2,j2,},}]rules 替换 expr[[i1,j1,]]expr[[i2,j2,]].
  • 规则的格式必须为 lhs->rhslhs:>rhs,或这样形式的规则组成的列表.
  • 可给出规则列表. 并按顺序尝试规则. 返回第一个应用的规则的结果. 如果没有应用任何规则,则返回原来的 expr.
  • ReplaceAt[expr,patt:>new,pos] 可用于替换部分内容,而无需先进行计算. 如果使用的是 pattnew 这样的规则,则对每个与 patt 匹配的表达式单独计算 new.
  • 如果要替换的部分在位置列表中重复出现,ReplaceAt 将会对该部分重复应用替换规则.
  • ReplaceAt 使用的位置列表与函数 Position 返回的形式相同.
  • ReplaceAt 适用于 Association 对象,其中关于键的指定与 Part 中的一样.
  • 如果 expr 是一个 SparseArray 对象或结构化数组,则 ReplaceAt[expr,] 替换相应普通数组中的部分内容.
  • ReplaceAt[rules,pos][expr] 等价于 ReplaceAt[expr,rules,pos].

范例

打开所有单元关闭所有单元

基本范例  (9)

用规则替换表达式的指定部分:

替换多个部分:

替换嵌套的部分:

使用负数位置从末尾开始计数:

基于模式的替换:

使用多个替换规则:

替换所有顶层部分的第二个元素(第二列):

替换由 Key 指定的关联的部分内容:

使用 ReplaceAt 的算符形式:

范围  (6)

表达式的单个元素:

负数位置从末尾开始算起:

替换第二层的部分内容:

替换几个部分的内容:

替换几个嵌套部分的内容:

使用 Span 语法:

推广和延伸  (4)

ReplaceAt 可用于具有任何标头的表达式:

关联中的 Key 和整数部分的指定不同:

使用第 0 部分对表达式的标头执行替换:

ReplaceAt 适用于稀疏数组:

属性和关系  (7)

ReplaceAt 可以使用由 Position 返回的部分列表:

这些是 Extract 返回的子表达式:

ReplaceAt 可使用 Association 作为替换规则:

ReplaceAt 可使用 Dispatch 对象作为替换规则:

如果某部分内容被重复提及,ReplaceAt 会反复应用替换规则:

ReplaceAt 不会对被保持的替换进行计算:

对未计算的关联中的代码进行操作:

在回取时进行计算:

Unevaluated 在计算 expr 之前执行替换:

可能存在的问题  (1)

如果预期表达式的结构在替换期间会发生变化,则重复替换部分内容可能会产生意外结果:

与使用 Nest 相比:

ReplacePartMapAt 的行为一致:

Wolfram Research (2022),ReplaceAt,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ReplaceAt.html.

文本

Wolfram Research (2022),ReplaceAt,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ReplaceAt.html.

CMS

Wolfram 语言. 2022. "ReplaceAt." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ReplaceAt.html.

APA

Wolfram 语言. (2022). ReplaceAt. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ReplaceAt.html 年

BibTeX

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

BibLaTeX

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