Python | Obtener tuplas duplicadas de la lista

A veces, mientras trabajamos con registros, podemos tener el problema de extraer aquellos registros que ocurren más de una vez. Este tipo de aplicación puede ocurrir en el dominio de desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.° 1: usar la comprensión de listas +set() + count()
El enfoque inicial que se puede aplicar es que podemos iterar en cada tupla y verificar su conteo en la lista usando count(), si es mayor que uno, podemos agregar a la lista. Para eliminar múltiples adiciones, podemos convertir el resultado en conjunto usando set().

# Python3 code to demonstrate working of
# Get duplicate tuples from list
# Using list comprehension + set() + count()
  
# initialize list
test_list = [(3, 4), (4, 5), (3, 4), 
             (3, 4), (4, 5), (6, 7)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# Get duplicate tuples from list
# Using list comprehension + set() + count()
res = list(set([ele for ele in test_list
            if test_list.count(ele) > 1]))
  
# printing result
print("All the duplicates from list are : " + str(res))
Producción :

The original list : [(3, 4), (4, 5), (3, 4), (3, 4), (4, 5), (6, 7)]
All the duplicates from list are : [(4, 5), (3, 4)]

Método #2: Uso Counter() + items()de la comprensión de lista +
La combinación de las funciones anteriores también se puede utilizar para realizar esta tarea en particular. En esto, solo obtenemos el recuento de cada aparición de elemento usando Counter()como diccionario y luego extraemos todos aquellos cuyo valor es superior a 1.

# Python3 code to demonstrate working of
# Get duplicate tuples from list
# Using list comprehension + Counter() + items()
from collections import Counter
  
# initialize list
test_list = [(3, 4), (4, 5), (3, 4), 
             (3, 4), (4, 5), (6, 7)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# Get duplicate tuples from list
# Using list comprehension + Counter() + items()
res = [ele for ele, count in Counter(test_list).items()
                                          if count > 1]
  
# printing result
print("All the duplicates from list are : " + str(res))
Producción :

The original list : [(3, 4), (4, 5), (3, 4), (3, 4), (4, 5), (6, 7)]
All the duplicates from list are : [(4, 5), (3, 4)]

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 *