Python: extrae tuplas con todas las strings numéricas

Dada una lista de tuplas, extraiga solo aquellas tuplas que tengan strings numéricas.

Entrada : test_list = [(“45”, “86”), (“Gfg”, “1”), (“98”, “10”)]
Salida : [(’45’, ’86’), (‘ 98′, ’10’)]
Explicación : solo se filtró el número que representa tuplas.

Entrada : test_list = [(“Gfg”, “1”)]
Salida : []
Explicación : No hay tupla que contenga solo números.

Método n.º 1: usar la comprensión de listas + all() + isdigit()

En esto, verificamos que la string sea una string numérica usando isdigit() y all() se usa para verificar todas las strings. La comprensión de listas se utiliza para iterar todas las tuplas.

Python3

# Python3 code to demonstrate working of 
# Extract Tuples with all Numeric Strings
# Using all() + list comprehension + isdigit()
  
# initializing list
test_list = [("45", "86"), ("Gfg", "1"), ("98", "10"), ("Gfg", "Best")]
  
# printing original list
print("The original list is : " + str(test_list))
  
# all() checks for all digits()
res = [sub for sub in test_list if all(ele.isdigit() for ele in sub)]
  
# printing result 
print("Filtered Tuples : " + str(res))
Producción

The original list is : [('45', '86'), ('Gfg', '1'), ('98', '10'), ('Gfg', 'Best')]
Filtered Tuples : [('45', '86'), ('98', '10')]

Método #2: Usar lambda + filter() + isdigit()

En esto, realizamos la tarea de filtrar usando filter() + lambda, y isdigit() se usa para verificar los valores numéricos.

Python3

# Python3 code to demonstrate working of 
# Extract Tuples with all Numeric Strings
# Using lambda + filter() + isdigit()
  
# initializing list
test_list = [("45", "86"), ("Gfg", "1"), ("98", "10"), ("Gfg", "Best")]
  
# printing original list
print("The original list is : " + str(test_list))
  
# all() checks for all digits()
res = list(filter(lambda sub : all(ele.isdigit() for ele in sub), test_list))
  
# printing result 
print("Filtered Tuples : " + str(res))
Producción

The original list is : [('45', '86'), ('Gfg', '1'), ('98', '10'), ('Gfg', 'Best')]
Filtered Tuples : [('45', '86'), ('98', '10')]

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 *