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

Cómo Eliminar Elementos Duplicados de una Lista en Python: 8 Métodos Efectivos

Una lista es una estructura de datos fundamental en Python que contiene una colección ordenada de items como enteros, strings u objetos personalizados. Es el equivalente en Python de un array en otros lenguajes.

A continuación, técnicas probadas para eliminar elementos duplicados de una lista preservando orden y legibilidad.

Eliminar duplicados usando un set

La función integrada set() de Python elimina duplicados devolviendo solo elementos únicos. Convierte la lista a set, luego de vuelta a lista para preservar el formato de colección.

mi_lista = [1,1,2,3,2,2,4,5,6,2,1]
mi_lista_final = set(mi_lista)
print(list(mi_lista_final))

Salida:

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

Eliminar duplicados usando lista temporal

Este enfoque crea una lista vacía, itera sobre la original y añade solo items que no se han visto antes.

mi_lista = [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]
print("Lista Antes ", mi_lista)
temp_lista = []
for i in mi_lista:
    if i not in temp_lista:
        temp_lista.append(i)
mi_lista = temp_lista
print("Lista Después de eliminar duplicados ", mi_lista)

Salida:

Lista Antes [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]
Lista Después de eliminar duplicados [1, 2, 3, 4, 5, 6]

Eliminar duplicados usando OrderedDict (o dict.fromkeys)

Para Python 3.5+, un dict plano preserva orden de inserción, así que dict.fromkeys() puede usarse para mantener valores únicos en orden.

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

Salida:

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

Eliminar duplicados con bucle for simple

Recorre la lista, añadiendo items a una nueva lista solo si no han aparecido antes.

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

Salida:

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

Eliminar duplicados vía list comprehension

Las list comprehensions ofrecen sintaxis concisa manteniendo legibilidad.

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

Salida:

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

Eliminar duplicados con unique() de NumPy

La función unique() de NumPy devuelve los elementos únicos ordenados de un array.

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

Salida:

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

Eliminar duplicados usando unique() de Pandas

Similarmente, Pandas ofrece un método ligero unique() que funciona en objetos tipo lista.

import pandas as pd
mi_lista = [1,2,2,3,1,4,5,1,2,6]
mi_lista_final = pd.unique(mi_lista).tolist()
print(mi_lista_final)

Salida:

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

Eliminar duplicados con enumerate() y list comprehension

Combinar enumerate() con list comprehension permite eliminar duplicados preservando la primera ocurrencia de cada elemento.

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

Salida:

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

Resumen

python

  1. Dominando tipos de datos en Python: Guía práctica
  2. Dominando operadores en Python: Guía completa
  3. Dominando la sentencia pass en Python: Guía práctica
  4. Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
  5. Dominando la función range() de Python: desde lo básico a casos avanzados
  6. Dominando Listas en Python: Append, Sort, Length y List Comprehensions (Guía Práctica)
  7. Calculando Promedios en Python: Guía Práctica con Múltiples Métodos
  8. Python list.count(): Guía Experta con Ejemplos Prácticos
  9. Cómo Eliminar Ítems de una Lista en Python: remove(), pop(), clear() y del
  10. Python list.index(): Cómo Encontrar Posiciones de Elementos con Ejemplos Prácticos
  11. Dominando listas en Python: Guía completa