Previous: Lists as Sets, Up: Lists [Contents][Index]
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.
This function searches the association list a-list for an
element whose 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 nil
s but considers any other non-cons
elements of a-list to be an error.)
This function searches for an element whose cdr
matches
item. If a-list represents a mapping, this applies
the inverse of the mapping to item.
This function searches like 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:
This is equivalent to (cons (cons key value) alist)
.
This is equivalent to (nconc (mapcar* 'cons keys values)
alist)
.