Python – Tuplas de longitud de rango de filtro

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))
Producción :

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))
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *