Set
interseção
de listas
Quais elementos estão tanto em list-a quanto em list-b ?
(defparameter list-a '(0 1 2 3))
(defparameter list-b '(0 2 4))
(intersection list-a list-b)
;; => (2 0)
Remover os elementos de list-b de uma list-a
set-difference
(set-difference list-a list-b)
;; => (3 1)
(set-difference list-b list-a)
;; => (4)
Juntar duas listas
union
(union list-a list-b)
;; => (3 1 0 2 4) ;; a ordem pode ser diferente no seu Lisp
Remover elementos que estão em ambas as listas
set-exclusive-or
(set-exclusive-or list-a list-b)
;; => (4 3 1)
e sua forma "reciclável" (nintersection
,...).
Veja também as funções setp
, set-equal
,... em
Alexandria.