リストから重複した要素を取り除く


Tags: リスト, R6RS, SRFI

SRFI-1 の delete-duplicates や delete-duplicates! を使う。 delete-duplicates! は引数として与えられたリストを変更することがあるので注意。

(import (rnrs) (only (srfi :1) delete-duplicates delete-duplicates!))

(delete-duplicates '("abc" "cba" "abc")) ; => ("abc" "cba")
(delete-duplicates '(a b c a a b a c) eq?) ; => (a b c)
(delete-duplicates! '(a a a) eq?) ; => maybe &assertion or (a)