在 Common Lisp 中,有没有办法从alist
匹配给定的键中检索所有条目?
问问题
466 次
2 回答
11
(remove 'a '((a 1) (a 2) (b 1))
:test-not #'eql
:key #'first)
->
((A 1) (A 2))
于 2013-04-25T20:48:38.627 回答
3
如果您有关联列表a
:
(defvar a '((a 1) (a 2) (b 1)))
a
你可以通过调用 remove-if-not来保留所有有 car 的对:
(remove-if-not (lambda (x) (eq (car x) 'a)) a)
这导致:
((A 1) (A 2))
即使当被视为关联列表时,也只会返回其中的第一个。
于 2013-04-25T20:26:18.553 回答