MemberQ
Details and Options
- form can be a pattern.
- The first argument of MemberQ can have any head, not necessarily List.
- MemberQ[list,form] immediately tests whether any expression in list matches form; Element[x,dom] asserts that x is an element of the symbolic domain dom.
- MemberQ uses standard level specifications:
-
n levels 1 through n Infinity levels 1 through Infinity {n} level n only {n1,n2} levels n1 through n2 - The default value for levelspec in MemberQ is {1}.
- A positive level n consists of all parts of expr specified by n indices.
- A negative level -n consists of all parts of expr with depth n.
- Level -1 consists of numbers, symbols, and other objects that do not have subparts.
- Level 0 corresponds to the whole expression.
- With the option setting Heads->True, MemberQ looks at heads of expressions and their parts.
- MemberQ works on associations, testing values but not keys.
- MemberQ[form][expr] is equivalent to MemberQ[expr,form].
- Parallelize[MemberQ[list,form]] computes MemberQ[list,form] in parallel on all subkernels. »
Examples
open all close allBasic Examples (1)
Scope (6)
MemberQ works with patterns:
MemberQ[{x ^ 2, y ^ 2, x ^ 3}, x ^ _]MemberQ[{{1, 1, 3, 0}, {2, 1, 2, 2}}, 0, 2]MemberQ normally only tests level 1:
MemberQ[{{1, 1, 3, 0}, {2, 1, 2, 2}}, 0]Test whether an association contains a given value:
MemberQ[<|a -> 1, b -> 2|>, 1]Test whether an association contains a value that is an even integer:
MemberQ[<|a -> 1, b -> 3|>, _ ? EvenQ]MemberQ[<|a -> 1, b -> 2|>, _ ? EvenQ]MemberQ by default only operates at level 1:
MemberQ[<|a -> <|u -> 2, v -> 3|>, b -> 3|>, _ ? EvenQ]MemberQ[<|a -> <|u -> 2, v -> 3|>, b -> 3|>, _ ? EvenQ, 2]Test whether values have head List:
MemberQ[<|a -> {1}, b -> {2}|>, List, 2, Heads -> True]Applications (1)
Properties & Relations (1)
Compute MemberQ in parallel:
Parallelize[MemberQ[Array[Prime, 10 ^ 6], 93]]Possible Issues (4)
MemberQ tests for structural matches, not numerical equality:
MemberQ[{1, 2, 1, 3}, 1.]MemberQ does not test for subsequences:
MemberQ[a + b + c, a + c]FreeQ does:
FreeQ[a + b + c, a + c]MemberQ by default only operates at level 1:
MemberQ[{{x ^ 2, y ^ 2}}, x ^ _]MemberQ[{{x ^ 2, y ^ 2}}, x ^ _, 2]MemberQ tests values but not keys in an association:
MemberQ[<|a -> 1, b -> 2|>, a]MemberQ[<|a -> 1, b -> 2|>, a -> _]KeyValuePattern tests for the entire rule:
MatchQ[<|a -> 1, b -> 2|>, KeyValuePattern[{a -> 1}]]See Also
SubsetQ FreeQ MatchQ Element Count Cases IntervalMemberQ KeyExistsQ ContainsAny
Function Repository: ContainsQ
Related Guides
History
Introduced in 1988 (1.0) | Updated in 1999 (4.0) ▪ 2014 (10.0)
Text
Wolfram Research (1988), MemberQ, Wolfram Language function, https://reference.wolfram.com/language/ref/MemberQ.html (updated 2014).
CMS
Wolfram Language. 1988. "MemberQ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/MemberQ.html.
APA
Wolfram Language. (1988). MemberQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MemberQ.html
BibTeX
@misc{reference.wolfram_2026_memberq, author="Wolfram Research", title="{MemberQ}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/MemberQ.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_memberq, organization={Wolfram Research}, title={MemberQ}, year={2014}, url={https://reference.wolfram.com/language/ref/MemberQ.html}, note=[Accessed: 13-June-2026]}