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