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].

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:

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:

Introduced in 1988
 (1.0)
 |
Updated in 1999
 (4.0)
2014
 (10.0)