Lookup[assoc,key]
looks up the value associated with key in the association assoc; if the key is not present, Missing["KeyAbsent",key] is returned.
Lookup[assoc,{key1,key2,…}]
gives a list of the values associated with the keyi.
Lookup[{assoc1,assoc2,…},key]
gives a list corresponding to the value of key in each associ.
Lookup[assoc,key,default]
gives default if the key is not present.
Lookup[assoc,keys,default,h]
looks up the values associated with keys, wrapping each of them with head h before evaluation.
Lookup
Lookup[assoc,key]
looks up the value associated with key in the association assoc; if the key is not present, Missing["KeyAbsent",key] is returned.
Lookup[assoc,{key1,key2,…}]
gives a list of the values associated with the keyi.
Lookup[{assoc1,assoc2,…},key]
gives a list corresponding to the value of key in each associ.
Lookup[assoc,key,default]
gives default if the key is not present.
Lookup[assoc,keys,default,h]
looks up the values associated with keys, wrapping each of them with head h before evaluation.
Details
- In Lookup[assoc,key,default], default is only evaluated if key is not found in assoc.
- Lookup can be applied not only to Association objects, but also to lists of rules.
- Lookup[assoc,Key[list]] treats the list list as a single key rather than a list of keys.
- Lookup[{assoc1,assoc2,…},{key1,key2,…}] gives an array of the form {{assoc1[key1],assoc1[key2],…},…}.
- Lookup[key][assoc] is equivalent to Lookup[assoc,key].
Examples
open all close allBasic Examples (4)
Look up the value associated with the key:
Lookup[<|a -> 1, b -> 2|>, a]When a key is not found, a Missing object is returned by default:
Lookup[<|a -> 1, b -> 2|>, c]Provide a default value to be used when the key is not found:
Lookup[<|a -> 1, b -> 2|>, c, 0]Use the operator form of Lookup:
Lookup[a]@ <|a -> 1|>Scope (5)
Look up multiple keys at once:
Lookup[<|a -> 1, b -> 2|>, {a, b, c}]Lookup threads over lists of associations:
table = {
<|a -> 1, b -> 2|>,
<|a -> 3, b -> 1|>,
<|a -> 4, b -> 3|>
};Lookup[table, a]Query multiple keys from multiple associations:
Lookup[table, {a, b}]Lookup can be used to look up keys in lists of rules:
Lookup[{a -> 1, b -> 2}, a]Lookup[{{a -> 1, b -> 2}, {a -> 3}}, a]Wrap the result in Hold to prevent it from evaluating:
Lookup[<|"print" :> Print["Hello!"]|>, "print", None, Hold]Apply the operator form to a list of lists:
Lookup[a][{{a -> 1}, {a -> 2, b -> 3}, {b -> 4}}]Applications (1)
You can use constructs such as Throw and Return in the third argument of Lookup to abort a computation when a required key is missing:
calculateBMI[stats_] := Module[{w, h},
{w, h} = Lookup[stats, {"Weight", "Height"}, Return[$Failed, Module]];
w / h ^ 2
]calculateBMI[<|"Weight" -> 90, "Height" -> 1.8|>]calculateBMI[<|"Weight" -> 90|>]Properties & Relations (4)
When the key is present, the default is not evaluated:
Lookup[<|a -> 1, b -> 2|>, b, Print["not found"]]Even when it appears in a result multiple times, the default value is only evaluated once:
Lookup[{<||>, <||>}, a, RandomInteger[100]]Lookup[<||>, {a, b}, RandomInteger[100]]Applying an association to a key is typically equivalent to using Lookup on that key:
Lookup[<|a -> 1, b -> 2|>, a]<|a -> 1, b -> 2|>[a]Lists are handled differently by Lookup, however:
Lookup[<|a -> 1, b -> 2|>, {a, b}]<|a -> 1, b -> 2|>[{a, b}]Wrap the list in Key to make Lookup treat it as a single key:
Lookup[<|a -> 1, b -> 2|>, Key[{a, b}]]Lookup automatically strips up to one level of Key from its second argument:
a = <|k1 -> 1, k2 -> 2, {k1, k2} -> 3, Key[k2] -> 4|>;Lookup[a, k1]Lookup[a, Key[k1]]Similarly, lists of keys are stripped of any Key wrappers they contain:
Lookup[a, {Key[k1], Key[k2]}]This stripping allows looking up expressions of the form Key[{…}] and Key[Key[…]]:
Lookup[a, Key[{k1, k2}]]Lookup[a, Key[Key[k2]]]Possible Issues (1)
When the key to be looked up is a list or an expression with head Key, it must be wrapped in a Key to avoid ambiguity:
assoc = <|Key[a] -> 1, {b, c} -> 2|>Lookup[assoc, Key[a]]Lookup[assoc, Key[Key[a]]]Lookup[assoc, {b, c}]Lookup[assoc, Key[{b, c}]]See Also
Association Part Key KeyExistsQ Normal Replace OptionValue Missing
Function Repository: LookupCases LookupPart LookupKeys
Related Guides
Text
Wolfram Research (2014), Lookup, Wolfram Language function, https://reference.wolfram.com/language/ref/Lookup.html (updated 2020).
CMS
Wolfram Language. 2014. "Lookup." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/Lookup.html.
APA
Wolfram Language. (2014). Lookup. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Lookup.html
BibTeX
@misc{reference.wolfram_2026_lookup, author="Wolfram Research", title="{Lookup}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/Lookup.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_lookup, organization={Wolfram Research}, title={Lookup}, year={2020}, url={https://reference.wolfram.com/language/ref/Lookup.html}, note=[Accessed: 12-June-2026]}