連想リストのうち、キーが等しい対があれば、そのうち最も左のものを返す。
[1]> (assoc 'two '((one . 1) (two . 2) (three . 3))) (TWO . 2) [2]> (assoc 'four '((one . 1) (two . 2) (three . 3))) NIL [3]> (assoc 'one '((one . 1) (two . 2) (three . 3))) (ONE . 1) [4]> (assoc 1 '((one . 1) (two . 2) (three . 3))) NIL [5]> (defun assoc$ (item alist) (if (null alist) nil (if (eql item (first (first alist))) (first alist) (assoc$ item (rest alist))))) ASSOC$ [6]> (assoc$ one '((one . 1) (two . 2) (three . 3))) *** - SYSTEM::READ-EVAL-PRINT: variable ONE has no value The following restarts are available: USE-VALUE :R1 Input a value to be used instead of ONE. STORE-VALUE :R2 Input a new value for ONE. ABORT :R3 Abort main loop Break 1 [7]> :a [8]> (assoc$ 'one '((one . 1) (two . 2) (three . 3))) (ONE . 1)