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)
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.
[1, 2, 3, 3, 2, 2, 4, 5, 5]
[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.
3, 2, 5, 4, 7, 5, 7, 8, 2, 3]
-
-
Excelente, una forma ingeniosa de eliminar duplicados!!!
Gracias por comentar -
Muchas gracias!
-
-
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
-
TY
-
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 listal =[1,3,5,3,2,5,4,7,5,7,8,2,3,10,10,10]
repetidos(l)
-
al eliminar el elemento no registra la posicion del elemento por lo que lo imprime desordenado/?
-
Este comentario ha sido eliminado por el autor.
-
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]) -
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 -
# 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
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)