Как удалить дубликаты из списка в Clojure? - PullRequest
15 голосов
/ 18 сентября 2010

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

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

Ответы [ 3 ]

34 голосов
/ 18 сентября 2010
user=> (distinct '(34 56 45 34 56 89 11 4 11 78 11))
(34 56 45 89 11 4 78)
10 голосов
/ 18 сентября 2010

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

user=> (set '("a" "b" "c" "a" "lala" "d"))
#{"a" "b" "c" "d" "lala"}
3 голосов
/ 16 декабря 2015

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...