Come posso rimuovere i valori duplicati da un elenco? Ad esempio,Come rimuovere i duplicati da un elenco in Clojure?
(remove-duplicates ["a" "b" "c" "a"])
=> ("a" "b" "c")
Come posso rimuovere i valori duplicati da un elenco? Ad esempio,Come rimuovere i duplicati da un elenco in Clojure?
(remove-duplicates ["a" "b" "c" "a"])
=> ("a" "b" "c")
user=> (distinct '(34 56 45 34 56 89 11 4 11 78 11))
(34 56 45 89 11 4 78)
Se non vi interessa circa l'ordine, si può semplicemente convertire l'elenco in un set:
user=> (set '("a" "b" "c" "a" "lala" "d"))
#{"a" "b" "c" "d" "lala"}
deduplicazione è la più veloce equivalente per liste ordinate dal deduplicazione mantiene solo l'elemento precedente in memoria.
Bello, non sapevo nulla della deduplica e vedo che è implementato solo da Clojure 1.7 - Ecco un altro post a riguardo: http://stackoverflow.com/questions/25552506/better-sequence-duplicate-remover/25556645#25556645 –
Esiste un equivalente più veloce per gli elenchi ordinati? – nha
@nha, non lo so. – missingfaktor