Python | Eliminar elementos duplicados desordenados de una lista

Dada una lista, la tarea es eliminar los elementos duplicados. Todos los elementos que no están en el mismo orden pero están compuestos por los mismos caracteres/números se consideran duplicados.

Ejemplos:

Input : ['gfg', 'ggf', 'fgg', 'for', 'orf',
                'ofr', 'rfo', 'rof', 'fro']
Output : ['for', 'fgg']

Input:  ['110', '101', '001', '010', '100']
Output:  ['001', '011']

 
Método #1: Usando el conjunto

# Python code to remove duplicate 
# unordered elements from a list
from collections import Counter
  
# List initialisation
Input = ['1213','1231','1123','1132','2113',
         '2311','0007', '0016', '0025', '0034',
         '0043', '0052', '0061', '0070','0304',
         '0313', '0322','0098','9800', '0331',
         '0340', '0403', '0412', '0421', '0430',
         '0502','8900','8009' ,'0511', '0520',
         '0601', '0610', '0700', '1006', '1015']
  
# Set initialisation
s = set()
  
# Output list initialisation
output =[]
  
for i in Input:
    if tuple(Counter(sorted(i, key = int)).items()) in s:
        pass
          
    else:
        s.add(tuple(Counter(sorted(i, key = int)).items()))
        output.append(i)
  
# Printing output
print(output)
Producción:

['1213', '0007', '0016', '0025', '0034', 
 '0313', '0322', '0098', '0412', '0511']

 
Método #2:

# Python code to remove duplicate
# unordered elements from a list
# List initialisation
Input = ['gfg', 'ggf', 'fgg', 'for', 'orf',
                'ofr', 'rfo', 'rof', 'fro']
  
# Getting unique nos
Output = list({''.join(sorted(n)) for n in Input})
  
# Printing Output
print(Output)
Producción:

['for', 'fgg']

Publicación traducida automáticamente

Artículo escrito por everythingispossible 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 *