Lisp中的关联列表-从
在Common Lisp中,是否有方法从Lisp中的关联列表-从,lisp,common-lisp,Lisp,Common Lisp,在Common Lisp中,是否有方法从alist中检索与给定键匹配的所有条目?如果您有一个关联列表a: (defvar a '((a 1) (a 2) (b 1))) 通过调用remove if not(如果不是),可以保留所有具有a汽车的配对: (remove-if-not (lambda (x) (eq (car x) 'a)) a) 这导致: ((A 1) (A 2)) 即使将其视为assoc列表,也只会返回其中的第一个列表 (remove 'a '((a 1) (a 2) (b
alist
中检索与给定键匹配的所有条目?如果您有一个关联列表a
:
(defvar a '((a 1) (a 2) (b 1)))
通过调用remove if not(如果不是),可以保留所有具有a
汽车的配对:
(remove-if-not (lambda (x) (eq (car x) 'a)) a)
这导致:
((A 1) (A 2))
即使将其视为assoc列表,也只会返回其中的第一个列表
(remove 'a '((a 1) (a 2) (b 1))
:test-not #'eql
:key #'first)
->
((A 1) (A 2))