如何从Clojure中的列表中删除重复项?

时间:2010-09-18 17:33:26

标签: list clojure

如何从列表中删除重复值?例如,

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

3 个答案:

答案 0 :(得分:34)

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

答案 1 :(得分:10)

如果您不关心订单,只需将列表转换为一组:

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

答案 2 :(得分:3)

Dedupe是排序列表的更快等价物,因为重复数据删除仅将前一个元素保留在内存中。