关联
与列表一样,关联是 Wolfram 语言中的基本概念. 它们将键值与数值相关联,允许对乃至数百万的元素进行高效查找和更新. 关联提供了对符号索引列表、关联数组、字典、哈希图表、结构体以及各种强大的数据结构的支持和推广.
Association ( <|…|> ) — 键值与数值之间的关联
<|…|>[key] — 提取与给定键值相关联的数值
关联与部分
<|…|>[["str"]] — 提取对应于字符串的键值
Key — 在部分规范中表明一个键值
Missing — 如果没有找到一个键值的情况下的默认值
#name — 在关联中挑出键值为 "name" 的纯函数中的插符
AssociationQ — 测试表达式是否是一个有效的关联
关联元素
Keys — 键值列表
Values — 数值列表
Normal — 转化为规则列表
Lookup — 通过键值执行数值查找,如果找不到,则返回一个特定的默认值
KeyExistsQ — 测试一个键值是否存在于一个关联中
应用于值的函数 »
Map ▪ Select ▪ Sort ▪ DeleteDuplicates ▪ ListPlot ▪ Plus ▪ ...
应用于键值的函数
KeySort, KeySortBy — 按照键值对关联排序
KeyTake, KeyDrop — 在关联中提取、丢弃特定键值
KeySelect — 基于键值标准选择元素
KeyMap — 在关联中对键值进行函数映射
KeyValueMap — 把一个函数映射到关联中的键和值
修改关联
AssociateTo — 对关联添加元素
KeyDropFrom — 从关联中删除元素
KeyValuePattern — 可以出现在关联任意处的元素
创建关联的函数
Association — 把规则列表转化为关联
AssociationMap — 通过对键值列表应用函数,创建关联
AssociationThread — 从键值列表和数值列表创建关联
Counts, CountsBy — 将数值与出现的次数相关联
GroupBy — 通过收集共享标准("map reduce")对数值分组
PositionIndex — 在数值出现的位置构建位置索引
操作于关联列表的函数
KeyUnion ▪ KeyIntersection ▪ KeyComplement
Catenate — 连接来自多个关联的元素
Merge — 使用函数合并关联,合并具有共同键值的元素
JoinAcross — 在多个关联上模拟数据库的相交
Dataset — 支持普通的结构化数据查询的表示法