Association
Association[key1val1,key2val2,…] or key1val1,key2val2,…
represents an association between keys and values.
Details
- The value associated with a given key can be extracted using assoc[key].
- An Association acts like a symbolically indexed list. The value associated with a given key can be extracted by using the part specification Key[key]. If key is a string, Key can be omitted.
- If key is not present in assoc, assoc[key] yields Missing["KeyAbsent",key].
- assoc[key]=val, where assoc is a symbol whose value is an Association, can be used to associate or reset the association of key with val.
- Typical list operations (such as Map, Select, and Sort) apply to the values in an association, leaving the keys unchanged.
- Association[{key1->val1,…}] gives <key1->val1,… >.
- If there are multiple elements with the same key, all but the last of these elements are dropped. Merge yields instead a list of values for repeated keys.
- Association can be input using the characters \[LeftAssociation] and \[RightAssociation].
- Normal converts an Association to a list of rules.
- KeyValuePattern can be used to represent a pattern for associations that include particular elements.
Examples
open allclose allBasic Examples (8)
An association in which key a is associated with value x, key b with value y, etc.:
Extract the value associated with key b:
Convert a list of rules to an association:
Convert an association to a list of rules:
Keys are "transparent" for many operations:
Position gives keys in an association:
Delayed rules can be used to construct associations whose values are stored unevaluated:
The value in the association is evaluated when it is extracted:
Values in associations can be extracted like parts:
If the key in an association is a string, no explicit Key is needed to extract it as a part:
Numerical part specifications work structurally on associations:
Lookups in associations interoperate with parts in lists and other expressions:
The explicit Key can be omitted when the keys are strings:
Keys extracts the list of keys:
Scope (11)
Associations work with any number of elements:
Extracting values from an association is highly efficient:
Associations can have arbitrary expressions as keys, including associations:
Missing elements are represented by Missing:
Lookup allows a default value to be given:
Associations can be used for pattern matching:
Extract key and value from an association:
Replace arguments of a function:
Pick the rule with the specific key:
Filter associations with length 2 only:
Define a function using an Association as an argument:
Use nested associations as a function argument:
KeyValuePattern lets you match any element in an association:
KeyValuePattern matches elements that appear anywhere in an association:
Properties & Relations (5)
Possible Issues (2)
Association counts as one level, not two, in structural functions:
Lists of rules are two levels:
Replacing the head of an Association loses keys:
Extract rules from an Association:
Text
Wolfram Research (2014), Association, Wolfram Language function, https://reference.wolfram.com/language/ref/Association.html (updated 2016).
CMS
Wolfram Language. 2014. "Association." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2016. https://reference.wolfram.com/language/ref/Association.html.
APA
Wolfram Language. (2014). Association. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Association.html