An association list is a collection of list pairs of the form:
((key1 item1) (key2 item2) ... (keyN itemN))
The 'assoc' function searches through an association list
'
(setq mylist '((a . my-a) (b . his-b) (c . her-c) (d . end))) (assoc 'a mylist) => (A . MY-A) (assoc 'b mylist) => (B . HIS-B) (assoc 1 mylist) => NIL
(setq agelist '((1 (bill bob)) (2 (jane jill)) (3 (tim tom)) (5 (larry daryl daryl)))) (assoc 1 agelist) => (1 (BILL BOB)) (assoc 3 agelist :test #'>=) => (1 (BILL BOB)) (assoc 3 agelist :test #'<) => (5 (LARRY DARYL DARYL)) (assoc 3 agelist :test #'<=) => (3 (TIM TOM)) (assoc 3 agelist :test-not #'>=) => (5 (LARRY DARYL DARYL))
Using a list as key, tested with equal:
> (assoc '(a b) '(((c d) e) ((a b) x)) :test #'equal) ((A B) X)
Note: The 'assoc' function can work with a list or string as the
'expr'. However, the default eql test does
not work with lists or strings, only symbols and numbers.
See also: