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 y se encuentren dentro de un rango. 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 del rango coincidente requerido para constituir el registro. El cálculo de la longitud se realiza mediante len().
# Python3 code to demonstrate working of # Filter Range Length Tuples # Using list comprehension + len() # Initializing list test_list = [(4, ), (5, 6), (2, 3, 5), (5, 6, 8, 2), (5, 9)] # printing original list print("The original list is : " + str(test_list)) # Initializing desired lengths i, j = 2, 3 # Filter Range Length Tuples # Using list comprehension + len() res = [sub for sub in test_list if len(sub) >= i and len(sub) <= j] # printing result print("The tuple list after filtering range records : " + str(res))
The original list is : [(4, ), (5, 6), (2, 3, 5), (5, 6, 8, 2), (5, 9)] The tuple list after filtering range records : [(5, 6), (2, 3, 5), (5, 9)]
Método #2: Usarfilter() + 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 filtrar registros de longitud de rango.
# Python3 code to demonstrate working of # Filter Range Length Tuples # Using filter() + lambda + len() # Initializing list test_list = [(4, ), (5, 6), (2, 3, 5), (5, 6, 8, 2), (5, 9)] # printing original list print("The original list is : " + str(test_list)) # Initializing desired lengths i, j = 2, 3 # Filter Range Length Tuples # Using filter() + lambda + len() res = list(filter(lambda ele: len(ele) >= i and len(ele) <= j, test_list)) # printing result print("The tuple list after filtering range records : " + str(res))
The original list is : [(4, ), (5, 6), (2, 3, 5), (5, 6, 8, 2), (5, 9)] The tuple list after filtering range records : [(5, 6), (2, 3, 5), (5, 9)]
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