An association list is a list representing a mapping from one set of values to another; any list whose elements are cons cells is an association list.
&key :test :test-not :key
car matches (in the sense of :test,
:test-not, and :key, or by comparison with eql)
a given item. It returns the matching element, if any,
otherwise nil. It ignores elements of a-list which
are not cons cells. (This corresponds to the behavior of
assq and assoc in Emacs Lisp; Common Lisp's
assoc ignores nils but considers any other non-cons
elements of a-list to be an error.)
&key :test :test-not :key
cdr matches
item. If a-list represents a mapping, this applies
the inverse of the mapping to item.
rassoc* with a :test
argument of equal. It is analogous to Emacs Lisp's
standard assoc function, which derives from the MacLisp
rather than the Common Lisp tradition.
The assoc-if, assoc-if-not, rassoc-if,
and rassoc-if-not functions are defined similarly.
Two simple functions for constructing association lists are:
(cons (cons key value) alist).
(nconc (mapcar* 'cons keys values) alist).