关联

与列表一样,关联是 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 把一个函数映射到关联中的键和值

KeyMemberQ  ▪  KeyFreeQ

修改关联

<||>[key]=val 改变关联的元素

AssociateTo 对关联添加元素

KeyDropFrom 从关联中删除元素

KeyValuePattern 可以出现在关联任意处的元素

创建关联的函数

Association 把规则列表转化为关联

AssociationMap 通过对键值列表应用函数,创建关联

AssociationThread 从键值列表和数值列表创建关联

Counts, CountsBy 将数值与出现的次数相关联

GroupBy 通过收集共享标准("map reduce")对数值分组

PositionIndex 在数值出现的位置构建位置索引

操作于关联列表的函数

KeyUnion  ▪  KeyIntersection  ▪  KeyComplement

Catenate 连接来自多个关联的元素

Merge 使用函数合并关联,合并具有共同键值的元素

JoinAcross 在多个关联上模拟数据库的相交

Dataset 支持普通的结构化数据查询的表示法