Elisp List Contains a Value

Nathaniel Flath picture Nathaniel Flath · Sep 11, 2009 · Viewed 11.1k times · Source

How do you check, in elisp, if a list contains a value? so the following would return t:

(contains 3 '(1 2 3))

but

(contains 5 '(1 2 3))

would return nil.

Answer

freiksenet picture freiksenet · Sep 11, 2009

The function you need is member

For example:

(member 3 '(1 2 3))

It will return the tail of list whose car is element. While this is not strictly t, any non-nil value is equivalent to true for a boolean operation. Also, member uses equal to test for equality, use memq for stricter equality (using eq).