2

alistCommon Lisp で、一致する特定のキーからすべてのエントリを取得する方法はありますか?

4

2 に答える 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)))

aremove-if-not を呼び出すことで、車を持つすべてのペアを保持できます。

(remove-if-not (lambda (x) (eq (car x) 'a)) a)

これにより、次の結果が得られます。

((A 1) (A 2))

連想リストとして扱われる場合でも、それらの最初のものだけが返されます。

于 2013-04-25T20:26:18.553 に答える