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.
freiksenet
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).
Mirzhan Irkegulov
freiksenet's answer is good and idiomatic. If you are using dash.el, you could also call function -contains?, which does exactly the same—checks if some list contains an element:
(-contains? '(1 2 3) 2) ; t
来源:https://stackoverflow.com/questions/1408974/elisp-list-contains-a-value