Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

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 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:

Paso 1 ) Importar módulo Numpy

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

Paso 2) Use su lista con duplicados dentro del método unique() 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 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


python

  1. Tipos de datos de Python
  2. Operadores de Python
  3. Declaración de paso de Python
  4. Argumentos de la función de Python
  5. Python range() Función:Flotante, Lista, Para ejemplos de bucle
  6. Comprensión de lista de Python, agregar, ordenar, longitud [EJEMPLOS]
  7. Promedio de Python:cómo encontrar el PROMEDIO de una lista en Python
  8. Python List count () con EJEMPLOS
  9. Eliminar elemento de una LISTA de Python [clear, pop, remove, del]
  10. Índice de lista de Python () con ejemplo
  11. Python - Listas