Eliminar elementos duplicados de una lista en Python utilizando Set

Ya hemos hablado en varias oportunidades de las listas en el blog, puedes darte una vuelta por la entrada Listas en Python. A modo de resumen, podemos decir que los elementos de una lista van entre corchetes [], funcionan de manera similar a las cadenas, utilizan la función len() para contar sus elementos y para acceder a sus elementos utilizamos los corchetes [] con el numero de indice (comienza en 0)

Eliminar elementos duplicados de una lista python

Bien, ahora a lo que vinimos… Un problema común para los que recién comienzan a programar en Python, es resolver como poder eliminar elementos duplicados en una lista. En Python se puede hacer de manera muy fácil. Lo que debemos hacer es utilizar la función set() que trabaja por nosotros y lo que hace justamente es eliminar los elementos duplicados de una lista.

Igual, un ejercicio que resulta interesante cuando recién arrancamos a programar, ya sea en python o cualquier otro lenguaje de programación, es resolver como eliminar los elementos duplicados sin utilizar ninguna función ya
creada.

Ejemplo para utilizar set()
>>> myList = [1, 2, 3, 3, 2, 2, 4, 5, 5] 
>>> myList
[1, 2, 3, 3, 2, 2, 4, 5, 5] 
>>> myList = list(set(myList)) 
>>> myList
[1, 2, 3, 4, 5] 
>>>


Ahora como ejercicio, te pido que trates de eliminar los elementos duplicados de la siguiente lista y lo escribas como un comentario al final de la entrada, seguro existen muchísimas formas ingeniosas de eliminar elementos repetidos de una lista.

UnaLista = [1, 3, 5,
3, 2, 5, 4, 7, 5, 7, 8, 2, 3]
Suerte!!!! Espero tu solución!!!
  1. Anónimo dice:

    def eliminar_repetidos(lista):
    nueva=[]
    for elemento in lista:
    if not elemento in nueva:
    nueva.append(elemento)
    return nueva

    UnaLista = [1, 3, 5, 3, 2, 5, 4, 7, 5, 7, 8, 2, 3]
    print(UnaLista)
    UnaLista=eliminar_repetidos(UnaLista)
    print(UnaLista)

    1. PythonDiario dice:

      Excelente, una forma ingeniosa de eliminar duplicados!!!
      Gracias por comentar

    2. Kendo dice:

      Muchas gracias!

  2. Unknown dice:

    Hola me gustaría saber de donde sacas estos ejercicios porque muchos se parecen a los que han salido en mis exámenes como lo del año bisiesto y demás y ya he hecho todos(algunos tengo que preguntarle al profe...) los que aparecen en esta pagina y quiero hacer mas

  3. Anónimo dice:

    yo lo hice ultilizando los metodos de las listas y ps al parecer funciona

    ....

    def repetidos(lista):
    for i in lista:
    if lista.count(i) > 1:
    lista.pop(lista.index(i))
    print lista

    l =[1,3,5,3,2,5,4,7,5,7,8,2,3,10,10,10]

    repetidos(l)

  4. Anónimo dice:

    al eliminar el elemento no registra la posicion del elemento por lo que lo imprime desordenado/?

  5. Diego Arredondo dice:

    Este comentario ha sido eliminado por el autor.

  6. Diego Arredondo dice:

    UnaLista = [1, 3, 5, 3, 2, 5, 4, 7, 5, 7, 8, 2, 3]
    nuevalista = []
    for n in UnaLista:
    if n not in nuevalista:
    nuevalista.append(n)
    for a in range(0,len(nuevalista)):
    print(nuevalista[a])

  7. Unknown dice:

    Pude resolverlo de la siguiente manera:
    def reducir(lista):
    for i in range(len(lista)):
    cantidad=lista.count(lista[i])
    if cantidad>=2:
    for x in range(cantidad):
    lista.remove(lista[i])
    lista.insert(i,"")
    contador=lista.count("")
    for y in range(contador):
    if contador>0:
    lista.remove("")
    lista_ordenada=sorted(lista)
    return lista_ordenada

  8. Unknown dice:

    # en menos pasos para eliminar datos repetidos

    miLista = [1, 2, 4, 4, 1, 4, 2, 6, 2, 9]
    listaNueva=set(miLista)
    print(listaNueva)

Deja una respuesta

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

Subir
White Monkey