相異
移除重複元素
傳回移除所有重複項目的新清單。
ruby…
[1,2,3,2,1].uniq # => [1, 2, 3]
clojure…
(distinct [1 2 3 2 1]) ;; => (1 2 3)
有些收集架構有單獨的 Set 類別來處理集合。這些架構會自動移除重複項目且沒有任何順序,這使它們成為數學集合的合適模型。在這些情況下,您可以使用轉換操作將清單轉換為集合以移除重複項目,但如果您想要保留順序,這將不適用。其他架構僅使用清單來表示集合,仰賴程式設計師在需要時移除重複項目。
元素通常使用等號運算子進行比較。然而,有些語言允許您提供 lambda 進行比較。
ruby…["Bach", "Sibelius", "Beethoven", "Elgar", "Schumann"]. uniq {|c| c[0]} # => ["Bach", "Sibelius", "Elgar"]