Saltar al contenido

Eliminar duplicados de Python de la lista

Una lista es un contenedor que contiene varios objetos de Python, que pueden ser números enteros, palabras, valores, etc. Es una edición en otros lenguajes de programación.

Así que aquí veremos diferentes formas en las que podemos eliminar los duplicados de una lista en particular.

En este tutorial, aprenderá:

Eliminar duplicados de la lista usando Establecer

Para eliminar los duplicados de una lista, puede utilizar el conjunto de funciones incorporado (). La especialidad del método set () es que devuelve elementos específicos.

Tenemos una lista: [1,1,2,3,2,2,4,5,6,2,1]. Hay muchos duplicados en la lista que tenemos que eliminar y recuperar los elementos específicos. La lista se proporciona para la función incorporada set (). Posteriormente, la lista final se muestra utilizando la función de lista incorporada (), como se muestra en el ejemplo siguiente.

El resultado que obtenemos cuando se eliminan todos los elementos duplicados son elementos separados.


my_list = [1,1,2,3,2,2,4,5,6,2,1]
my_final_list = set(my_list)
print(list(my_final_list))

Producción:


[1, 2, 3, 4, 5, 6]

Eliminar duplicados de la lista usando la lista provisional

Para eliminar duplicados de una lista específica, puede utilizar una lista temporal vacía. Primero, necesitará recorrer la lista y tener duplicados y agregar los elementos únicos a la lista temporal. Posteriormente, la lista provisional se asigna a la lista principal.

A continuación se muestra un ejemplo de trabajo con una lista provisional.


my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2]
print("List Before ", my_list)
temp_list = []

for i in my_list:
    if i not in temp_list:
        temp_list.append(i)

my_list = temp_list

print("List After removing duplicates ", my_list)

Producción:


List Before  [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]
List After removing duplicates  [1, 2, 3, 4, 5, 6]

Eliminar duplicados de la lista usando Dict

Podemos eliminar duplicados de la lista dada importando OrderedDict de colecciones. Está disponible desde python2.7 en adelante. OrderedDict se encarga de devolverle los elementos específicos en el orden en que está presente la clave.

Usemos una lista y usemos el método fromkeys () disponible en OrderedDict para obtener los elementos únicos de la lista.

Para usar el método OrderedDict.fromkey (), debe importar OrderedDict de las colecciones, como se muestra a continuación:


from collections import OrderedDict

Aquí hay un ejemplo para eliminar duplicados usando el método OrderedDict.fromkeys ().


from collections import OrderedDict

my_list = ['a','x','a','y','a','b','b','c']

my_final_list = OrderedDict.fromkeys(my_list)

print(list(my_final_list))

Producción:


['a', 'x', 'y', 'b', 'c']

Desde Python 3.5+ en adelante, podemos usar el dict.fromkeys () regular para obtener los elementos específicos de la lista. Los métodos dict.fromkeys () devuelven claves que son únicas y ayudan a deshacerse de los valores duplicados.

El siguiente es un ejemplo que muestra el funcionamiento de dict.fromkeys () en una lista para dar los elementos únicos:


my_list = ['a','x','a','y','a','b','b','c']
my_final_list = dict.fromkeys(my_list)
print(list(my_final_list))

Producción:


['a', 'x', 'y', 'b', 'c']

Eliminar duplicados de la lista usando for-loop

Usando for-loop, cruzaremos la lista de artículos para eliminar duplicados.

Primero comience a vaciar una matriz, es decir, myFinallist = []. Fuera del bucle, verifique si los elementos están listados en la matriz myFinallist. Si los elementos no existen, edítelo con myFinallist utilizando el método appendix ().

Entonces, siempre que se encuentre el elemento duplicado, ya estará presente en la matriz myFinallist y no se insertará. Veamos ahora lo mismo en el siguiente ejemplo:


my_list = [1,2,2,3,1,4,5,1,2,6]
myFinallist = []
for i in my_list:
    if i not in myFinallist:
myFinallist.append(i)
print(list(myFinallist))

Producción:


[1, 2, 3, 4, 5, 6]

Eliminar duplicados de la lista usando la comprensión de la lista

Las percepciones de lista son funciones de Python que se utilizan para crear nuevas secuencias (como listas, diccionarios, etc.) utilizando secuencias ya creadas. Esto le ayuda a reducir los bucles más largos y hacer que su código sea más fácil de leer y mantener.

Usemos la comprensión de la lista para eliminar los duplicados de la lista dada.


my_list = [1,2,2,3,1,4,5,1,2,6]
my_finallist = []
[my_finallist.append(n) for n in my_list if n not in my_finallist] 
print(my_finallist)

Producción:


[1, 2, 3, 4, 5, 6]

Elimine los duplicados de la lista utilizando un método único () Numpy.

El método único () del módulo Numpy puede ayudarnos a eliminar duplicados de la lista dada.

Para trabajar con el primer módulo numpy importado de Numpy, debe seguir estos pasos:

Paso 1) Importar módulo Numpy


import numpy as np

Paso 2) Use su lista con duplicados dentro del modo único como se muestra a continuación. La salida se convierte de nuevo al formato de lista utilizando el método tolist ().


myFinalList = np.unique(my_list).tolist()

Paso 3) Finalmente imprima la lista como se muestra a continuación:


print(myFinalList)

El código de salida final es el siguiente:


import numpy as np
my_list = [1,2,2,3,1,4,5,1,2,6]
myFinalList = np.unique(my_list).tolist()
print(myFinalList)

Producción:


[1, 2, 3, 4, 5, 6]

Eliminar duplicados de la lista usando métodos Pandas

El módulo Pandas tiene un modo único () que nos dará los elementos únicos de la lista dada.

Para trabajar con el módulo Pandas, debe seguir estos pasos:

Paso 1) Importar Módulo pandas


import pandas as pd

Paso 2) Use su lista con duplicados dentro de un método único () como se muestra a continuación:


myFinalList = pd.unique(my_list).tolist()

Paso 3) Imprima la lista como se muestra a continuación:


print(myFinalList)

El código de salida final es el siguiente:


import pandas as pd

my_list = [1,2,2,3,1,4,5,1,2,6]
myFinalList = pd.unique(my_list).tolist()
print(myFinalList)

Producción:


[1, 2, 3, 4, 5, 6]

Eliminar duplicados mediante cálculo () y comprensión de listas

Aquí está la combinación de comprensión de la lista y cálculo para eliminar los elementos duplicados. Enumerate devuelve un objeto con un contador en cada elemento de la lista. Por ejemplo (0.1), (1.2) etc. Este es el primer valor del índice y el segundo es el valor del elemento de la lista. W.

Cada elemento se verifica si está en la lista y, si lo está, se elimina de la lista.


my_list = [1,2,2,3,1,4,5,1,2,6]
my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]] 
print(list(my_finallist))

Producción:


[1, 2, 3, 4, 5, 6]

Resumen

Deja una respuesta

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