Как удалить дубликаты из списка в Clojure?

Как удалить повторяющиеся значения из списка? Например,

(remove-duplicates ["a" "b" "c" "a"])
  => ("a" "b" "c")

Ответы

Ответ 1

user=> (distinct '(34 56 45 34 56 89 11 4 11 78 11))
(34 56 45 89 11 4 78)

Ответ 2

Если вам не нужен порядок, вы можете просто преобразовать список в набор:

user=> (set '("a" "b" "c" "a" "lala" "d"))
#{"a" "b" "c" "d" "lala"}

Ответ 3

Dedupe является более быстрым эквивалентом для отсортированных списков, поскольку dedupe сохраняет только предшествующий элемент в памяти.