Association

Association[key1val1,key2val2,]key1val1,key2val2,

表示键和值之间的关联.

更多信息

  • 与已知 key 关联的值可以使用 assoc[key] 提取.
  • Association 就像一个符号式索引的列表. 与已知 key 关联的值可使用部分指定 Key[key] 提取. 如果 key 是字符串,Key 可以省略.
  • 如果 key 不出现在 assoc 中,assoc[key] 生成 Missing["KeyAbsent",key].
  • assoc[key]=val,其中 assoc 是一个值为 Association 的符号,可用来将关联 key 的值重置为 val 或建立关联.
  • 典型的列表运算(如 MapSelectSort)应用于关联中的值,而键保持不变.
  • Association[{key1->val1,}] 给出 <|key1->val1,|>.
  • 如果有多个元素具有相同的键,除最后一个元素外的所有元素都将被丢弃. 相反,Merge 对于重复键则生成值的列表.
  • Association 可以使用符号 \[LeftAssociation]\[RightAssociation]输入.
  • NormalAssociation 转换为规则列表.
  • KeyValuePattern 可用于表示包括特定元素的关联的模式.

范例

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

基本范例  (8)

一个关联,其中键 a 与值 x 关联,键 b 与值 y 关联,等等:

提取与键 b 关联的值:

将规则列表转换为关联:

将关联转换为规则列表:

对于很多运算,键是透明的:

Position 给出关联中的键:

追加到一个关联:

延迟的规则可用来构造关联,使得值以未计算的形式被存储:

关联中的值在被提取时计算:

关联中的值可以像部分一样被提取:

如果关联中的键是字符串,不需要显式的 Key 来将其作为部分提取:

数值部分的指定在结构上作用于关联:

关联中的查找与列表及其他表达式中的部分相互操作:

当键为字符串时,显式的 Key 可以被忽略:

Keys 提取键的列表:

关联可以通过重置值进行修改:

范围  (11)

关联适用于任何数目的元素:

从关联中提取值是高效的:

关联可以用任意表达式作为键,包括关联:

缺失的元素用 Missing 表示:

Lookup 允许给出缺省值:

关联可用于模式匹配:

来自关联的确切键和值:

替换函数的自变量:

挑取具有特定键的规则:

仅滤出长度为2的关联:

使用 Association 作为自变量,定义函数:

使用嵌套关联作为函数自变量:

KeyValuePattern 允许匹配关联中的任意元素:

KeyValuePattern 匹配出现在关联中任意位置的元素:

属性和关系  (5)

Values 从关联中提取值:

Keys 从关联中提取键:

Normal 将关联变成规则的列表:

关联仅保留重复键的最后一个实例:

当关联被修改时,会创建一个新副本:

v 被修改;w 不变:

关联的长度可以为零:

可能存在的问题  (2)

在结构式函数中,Association 仅算作一个层,而不是两个:

规则列表为两层:

替换 Association 的标头会丢失键:

提取来自 Association 的规则:

Wolfram Research (2014),Association,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Association.html (更新于 2016 年).

文本

Wolfram Research (2014),Association,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Association.html (更新于 2016 年).

CMS

Wolfram 语言. 2014. "Association." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2016. https://reference.wolfram.com/language/ref/Association.html.

APA

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

BibTeX

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

BibLaTeX

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