Saltar al contenido

Eliminar elementos duplicados de una lista en Erlang

Solución:

Podrías usar sets, por ejemplo:

my_nonDuplicate_list1() ->
    List = [1,1,2,3,4,5,5,6],
    Set = sets:from_list(List),
    sets:to_list(Set).

Esto vuelve [1,2,3,4,5], no más duplicados, pero lo más probable es que no estén ordenados.

Otra posibilidad sin el uso de sets sería:

my_nonDuplicate_list2() ->
    List = [1,1,2,3,4,5,5,6],
    lists:usort(List).

En este caso vuelve [1,2,3,4,5], no más duplicados y ordenados.

Y para aquellos que buscan preservar el orden de la lista:

remove_dups([])    -> [];
remove_dups([H|T]) -> [H | [X || X <- remove_dups(T), X /= H]].
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *