我有一个序列并试图删除重复
case 1:
(vec (into #{} [1 1 2 2 3 3])) ; => [1 2 3]
case 2:
(distinct [1 1 2 2 3 3]) ; => [1 2 3]
答案 0 :(得分:5)
至于差异,jas在他的评论中涵盖了大部分内容:
distinct
很懒惰distinct
是传感器distinct
维护订单至于哪一个是首选,distinct
是出于上述原因,但也因为它解释了您的需要。我忘了哪本Lisp书谈过这个(可能是 Let Over Lambda ),但是当给出两个相似函数之间的选择时,更喜欢那个更具体的函数。 distinct
解释说您需要不同的元素。 (into #{} xs)
可能会产生不同的值,但它也会让您的意图被误解。出于某种原因,有人可能很容易认为你想要一套。 distinct
缩小了为什么。