因此,如果我们想要一组独特的项目,我们可以使用'set'.
如果我们已经有一个我们想要重复数据删除的项集合,我们可以将它们传递给set函数,或者我们可以使用distinct或dedupe函数.
使用这些(利弊)的情况是什么?
谢谢.
Pio*_*dyl 12
不同之处是:
set 将热切地创建一个新的集合集合.distinct将创建一个延迟序列,其中删除了输入集合中的重复项.如果您处理大型集合,它具有优于集合的优势,而懒惰可能会使您免于急切地评估输入集合(例如take)dedupe从输入集合中删除连续的重复项,因此它具有与set和不同的语义distinct.例如,它将(1 2 3 1 2 3)在应用时返回(1 1 1 2 3 3 1 1 2 2 2 3 3)设置和懒惰SEQ有可用的(例如不同的API disj,getVS nth)和性能特性(例如O(log32 N)查找了一套和O(n)的懒惰SEQ),他们应该选择取决于你想如何使用其结果.
另外distinct,dedupe在无参数调用时返回换能器.