Python elimina duplicados de una lista
Una lista es un contenedor que contiene diferentes objetos de Python, que pueden ser números enteros, palabras, valores, etc. Es el equivalente a una matriz en otros lenguajes de programación.
Así que aquí veremos diferentes formas en las que podemos eliminar duplicados de una lista determinada.
En este tutorial, aprenderá:
- Eliminar duplicados de la lista usando Establecer
- Elimine los duplicados de una lista mediante la lista temporal.
- Eliminar duplicados de la lista usando Dict
- Eliminar duplicados de una lista usando for-loop
- Eliminar duplicados de la lista mediante la comprensión de listas
- Eliminar duplicados de la lista usando el método Numpy unique().
- Eliminar duplicados de la lista usando los métodos de Pandas
- Eliminar duplicados usando enumerate() y lista de comprensión
Eliminar duplicados de la lista usando Set
Para eliminar los duplicados de una lista, puede utilizar la función integrada set(). La especialidad del método set() es que devuelve elementos distintos.
Tenemos una lista:[1,1,2,3,2,2,4,5,6,2,1]. La lista tiene muchos duplicados que debemos eliminar y recuperar solo los elementos distintos. La lista se entrega a la función integrada set(). Más tarde, la lista final se muestra usando la función integrada list(), como se muestra en el ejemplo a continuación.
El resultado que obtenemos son elementos distintos donde se eliminan todos los elementos duplicados.
my_list = [1,1,2,3,2,2,4,5,6,2,1] my_final_list = set(my_list) print(list(my_final_list))
Salida:
[1, 2, 3, 4, 5, 6]
Eliminar duplicados de una lista mediante la lista temporal
Para eliminar duplicados de una lista determinada, puede utilizar una lista temporal vacía. Para eso primero, deberá recorrer la lista que tiene duplicados y agregar los elementos únicos a la lista temporal. Posteriormente la lista temporal se asigna a la lista principal.
Aquí hay un ejemplo de trabajo usando una lista temporal.
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)
Salida:
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 las colecciones. Está disponible desde python2.7 en adelante. OrderedDict se encarga de devolverte los distintos elementos en un orden en el que está presente la clave.
Hagamos uso de una lista y usemos el método fromkeys() disponible en OrderedDict para obtener los elementos únicos de la lista.
Para utilizar 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))
Salida:
['a', 'x', 'y', 'b', 'c']
Desde Python 3.5+ en adelante, podemos hacer uso del dict.fromkeys() regular para obtener los distintos elementos de la lista. Los métodos dict.fromkeys() devuelven claves que son únicas y ayudan a deshacerse de los valores duplicados.
Un ejemplo que muestra el funcionamiento de dict.fromkeys() en una lista para proporcionar elementos únicos es el siguiente:
my_list = ['a','x','a','y','a','b','b','c'] my_final_list = dict.fromkeys(my_list) print(list(my_final_list))
Salida:
['a', 'x', 'y', 'b', 'c']
Eliminar duplicados de una lista usando for-loop
Usando for-loop, recorreremos la lista de elementos para eliminar los duplicados.
Primero inicialice la matriz para vaciarla, es decir, myFinallist =[].Dentro del bucle for, agregue la verificación si los elementos de la lista existen en la matriz myFinallist. Si los elementos no existen, agregue el elemento a la matriz myFinallist usando append() método.
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))
Salida:
[1, 2, 3, 4, 5, 6]
Eliminar duplicados de la lista mediante la comprensión de listas
Las comprensiones de lista son funciones de Python que se utilizan para crear nuevas secuencias (como listas, diccionarios, etc.) utilizando secuencias que ya se han creado. Esto lo ayuda a reducir los bucles más largos y hace que su código sea más fácil de leer y mantener.
Hagamos uso de la comprensión de listas para eliminar 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)
Salida:
[1, 2, 3, 4, 5, 6]
Eliminar duplicados de la lista usando el método Numpy unique().
El método unique() del módulo Numpy puede ayudarnos a eliminar duplicados de la lista proporcionada.
Para trabajar con el primer módulo numpy de importación de Numpy, debe seguir estos pasos:
import numpy as np
Paso 2) Use su lista con duplicados dentro del método único como se muestra a continuación. La salida se vuelve a convertir a un 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 final con salida 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)
Salida:
[1, 2, 3, 4, 5, 6]
Eliminar duplicados de la lista usando los métodos de Pandas
El módulo Pandas tiene un método unique() 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
myFinalList = pd.unique(my_list).tolist()
Paso 3) Imprima la lista como se muestra a continuación:
print(myFinalList)
El código final con salida 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)
Salida:
[1, 2, 3, 4, 5, 6]
Eliminar duplicados usando enumerate() y lista de comprensión
Aquí la combinación de comprensión de lista y enumeración para eliminar los elementos duplicados. Enumerate devuelve un objeto con un contador para cada elemento de la lista. Por ejemplo (0,1), (1,2), etc. Aquí el primer valor es el índice y el segundo valor es el elemento de la lista. W
Cada elemento se comprueba si existe en la lista y, si existe, 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))
Salida:
[1, 2, 3, 4, 5, 6]
Resumen
- Para eliminar los duplicados de una lista, puede utilizar la función integrada set(). La especialidad del método set() es que devuelve elementos distintos.
- Puede eliminar duplicados de la lista dada importando OrderedDictfrom colecciones. Está disponible desde python2.7 en adelante. OrderedDictdict se encarga de devolverte los distintos elementos en un orden en el que está presente la clave.
- Puede hacer uso de un ciclo for que recorreremos la lista de elementos para eliminar los duplicados.
- El método unique() del módulo Numpy puede ayudarnos a eliminar duplicados de la lista proporcionada.
- El módulo Pandas tiene un método unique() que nos dará los elementos únicos de la lista dada.
- La combinación de comprensión de lista y enumeración se usa para eliminar los elementos duplicados de la lista. Enumerate devuelve un objeto con un contador para cada elemento de la lista.
python
- Tipos de datos de Python
- Operadores de Python
- Declaración de paso de Python
- Argumentos de la función de Python
- Python range() Función:Flotante, Lista, Para ejemplos de bucle
- Comprensión de lista de Python, agregar, ordenar, longitud [EJEMPLOS]
- Promedio de Python:cómo encontrar el PROMEDIO de una lista en Python
- Python List count () con EJEMPLOS
- Eliminar elemento de una LISTA de Python [clear, pop, remove, del]
- Índice de lista de Python () con ejemplo
- Python - Listas