A veces, mientras trabajamos con registros, es posible que deseemos filtrar registros de tal manera que necesitemos descartar registros que no contengan la cantidad exacta de elementos necesarios para constituir un registro. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso de la comprensión de listas +len()
En este método, solo iteramos a través de la lista y descartamos las tuplas que no coinciden con la longitud requerida para constituir el registro. El cálculo de la longitud se realiza mediante len()
.
# Python3 code to demonstrate working of # Retain records of specific length # Using list comprehension + len() # Initializing list test_list = [(4, 5, 6), (5, 6), (2, 3, 5), (5, 6, 8), (5, 9)] # printing original list print("The original list is : " + str(test_list)) # Initializing desired length N = 3 # Retain records of specific length # Using list comprehension + len() res = [sub for sub in test_list if len(sub) == 3] # printing result print("The tuple list after removing uneven records: " + str(res))
The original list is : [(4, 5, 6), (5, 6), (2, 3, 5), (5, 6, 8), (5, 9)] The tuple list after removing uneven records: [(4, 5, 6), (2, 3, 5), (5, 6, 8)]
Método #2: Usar filter()
+ lambda +len()
La combinación de las funciones anteriores también se puede usar para realizar esta tarea en particular. En esto, solo usamos filter()
y usamos la función lambda para separar registros de longitud desigual.
# Python3 code to demonstrate working of # Retain records of specific length # Using filter() + lambda + len() # Initializing list test_list = [(4, 5, 6), (5, 6), (2, 3, 5), (5, 6, 8), (5, 9)] # printing original list print("The original list is : " + str(test_list)) # Initializing desired length N = 3 # Retain records of specific length # Using filter() + lambda + len() res = list(filter(lambda ele: len(ele) == N, test_list)) # printing result print("The tuple list after removing uneven records: " + str(res))
The original list is : [(4, 5, 6), (5, 6), (2, 3, 5), (5, 6, 8), (5, 9)] The tuple list after removing uneven records: [(4, 5, 6), (2, 3, 5), (5, 6, 8)]
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