Python: formas de eliminar duplicados de la lista

Este artículo se centra en una de las operaciones de obtener la lista única de una lista que contiene un posible duplicado. Eliminar duplicados de la operación de lista tiene una gran cantidad de aplicaciones y, por lo tanto, es bueno tener su conocimiento. 

Método 1: Usar *set() 

Este es el método más rápido y más pequeño para lograr una tarea en particular. Primero elimina los duplicados y devuelve un diccionario que debe convertirse en lista. 

Python3

# Python 3 code to demonstrate
# removing duplicate elements from the list
l = [1, 2, 4, 2, 1, 4, 5]
print("Original List: ", l)
res = [*set(l)]
print("List after removing duplicate elements: ", res)

Producción:

Original list: [1, 2, 4, 2, 1, 4, 5]
List after removing duplicate elements: [1, 2, 4, 5]

Método 2: usar la comprensión de listas 

Este método funciona de manera similar al método anterior, pero esto es solo una abreviatura de una línea de un método más largo realizado con la ayuda de la comprensión de listas.  

Python3

# Python 3 code to demonstrate
# removing duplicated from list
# using list comprehension
 
# initializing list
test_list = [1, 3, 5, 6, 3, 5, 6, 1]
print (& quot
        The original list is : & quot
        + str(test_list))
 
# using list comprehension
# to remove duplicated
# from list
res = []
[res.append(x) for x in test_list if x not in res]
 
# printing list after removal
print (& quot
        The list after removing duplicates : & quot
        + str(res))

Producción :

The original list is : [1, 3, 5, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 3, 5, 6]

Método 3: Usar set()

Esta es la forma más popular de eliminar los duplicados de la lista. Pero el principal y notable inconveniente de este enfoque es que el orden del elemento se pierde en este método en particular.  

Python3

# Python 3 code to demonstrate
# removing duplicated from list
# using set()
 
# initializing list
test_list = [1, 5, 3, 6, 3, 5, 6, 1]
print (& quot
        The original list is : & quot
        + str(test_list))
 
# using set()
# to remove duplicated
# from list
test_list = list(set(test_list))
 
# printing list after removal
# distorted ordering
print (& quot
        The list after removing duplicates : & quot
        + str(test_list))

Producción :

The original list is : [1, 5, 3, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 3, 5, 6]

Método 4: Usar lista de comprensión + enumerar() 

la comprensión de listas junto con la función enumerar también puede lograr esta tarea. Básicamente busca elementos ya ocurridos y omite agregarlos. Conserva el orden de la lista.  

Python3

# Python 3 code to demonstrate
# removing duplicated from list
# using list comprehension + enumerate()
 
# initializing list
test_list = [1, 5, 3, 6, 3, 5, 6, 1]
print (& quot
        The original list is : & quot
        + str(test_list))
 
# using list comprehension + enumerate()
# to remove duplicated
# from list
res = [i for n, i in enumerate(test_list) if i not in test_list[:n]]
 
# printing list after removal
print (& quot
        The list after removing duplicates : & quot
        + str(res))

Producción :

The original list is : [1, 5, 3, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 5, 3, 6]

Método 5: Usar colecciones.OrderedDict.fromkeys()

Este es el método más rápido para lograr una tarea en particular. Primero elimina los duplicados y devuelve un diccionario que debe convertirse en lista. Esto funciona bien en el caso de strings también.  

Python3

# Python 3 code to demonstrate
# removing duplicated from list
# using collections.OrderedDict.fromkeys()
from collections import OrderedDict
 
# initializing list
test_list = [1, 5, 3, 6, 3, 5, 6, 1]
print (& quot
        The original list is : & quot
        + str(test_list))
 
# using collections.OrderedDict.fromkeys()
# to remove duplicated
# from list
res = list(OrderedDict.fromkeys(test_list))
 
# printing list after removal
print (& quot
        The list after removing duplicates : & quot
        + str(res))

Producción:

The original list is : [1, 5, 3, 6, 3, 5, 6, 1]
The list after removing duplicates : [1, 5, 3, 6]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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