;; サンプルリスト (setf r '(a b c d)) (setf s '(c d e)) ;; 2つの集合で共通な要素を見つける (intersection r s) ;; 2つの集合からすべての要素を見つける (union r s) ;; 集合のメンバかどうか (member 'd r) ;; 補集合かどうか (subsetp s r) ;; 集合に要素を追加 (adjoin 'b s) ;; 重複する場合は追加しない (adjoin 'c s) ;; 検索 (find 'a r) ;; A ;; 先頭を0番目にして何番目か (position 'a r) ;; 0 ;; 要素とマッチする数 (count 'a r) ;; 1 ;; シーケンスの一部をコピーする ;; (subseq シーケンス コピー開始位置 &optional コピー対象外開始位置) (subseq r 1 2) ;; (B) (subseq r 1) ;; (B C D) ;; push も pop もシーケンスの先頭に作用する ;; 且つ、破壊的 > r (A B C D) > (push 'x r) (X A B C D) > r (X A B C D) > (pop r) X > r (A B C D) ;; pushnew は要素の追加に cons ではなく adjoin を使う ;; こちらもやはり破壊的 > (pushnew 'n r) (N A B C D) > (pushnew 'a r) (N A B C D)