MemberQ

MemberQ[list,form]

returns True if an element of list matches form, and False otherwise.

MemberQ[list,form,levelspec]

tests all parts of list specified by levelspec.

MemberQ[form]

represents an operator form of MemberQ that can be applied to an expression.

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:
  • nlevels 1 through n
    Infinitylevels 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 allclose all

Basic Examples  (1)

Test whether 2 is a member of a list:

Scope  (6)

MemberQ works with patterns:

Test down to level 2:

MemberQ normally only tests level 1:

Test whether an association contains a given value:

Test whether an association contains a value that is an even integer:

MemberQ by default only operates at level 1:

Include level 2:

Test whether values have head List:

Applications  (1)

Test whether is ever equal to 1 modulo 7:

Properties & Relations  (1)

Compute MemberQ in parallel:

Possible Issues  (4)

MemberQ tests for structural matches, not numerical equality:

MemberQ does not test for subsequences:

FreeQ does:

MemberQ by default only operates at level 1:

Include level 2:

MemberQ tests values but not keys in an association:

KeyValuePattern tests for the entire rule:

Wolfram Research (1988), MemberQ, Wolfram Language function, https://reference.wolfram.com/language/ref/MemberQ.html (updated 2014).

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_2023_memberq, author="Wolfram Research", title="{MemberQ}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/MemberQ.html}", note=[Accessed: 19-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_memberq, organization={Wolfram Research}, title={MemberQ}, year={2014}, url={https://reference.wolfram.com/language/ref/MemberQ.html}, note=[Accessed: 19-March-2024 ]}