Python | Quitar strings de tupla

A veces podemos encontrarnos con el problema en el que recibimos datos en forma de tupla y solo queremos los números y deseamos borrar todas las strings de ellos. Esto también tiene una utilidad útil en el desarrollo web y el aprendizaje automático. Analicemos ciertas formas en que se puede lograr esta tarea en particular.

Método #1: Usar la comprensión de listas +type()

La combinación de las 2 funciones anteriores se puede utilizar para resolver este problema en particular. La lista de comprensión hace la tarea de reconstruir la lista modificada y la función de tipo nos ayuda a filtrar las strings.

# Python3 code to demonstrate
# Remove string from tuples
# using list comprehension + type()
  
# initializing list
test_list = [('Geeks', 1, 2), ('for', 4, 'Geeks'), (45, 'good')]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + type()
# Remove string from tuples
res = [tuple([j for j in i if type(j) != str])
                           for i in test_list]
  
# print result
print("The list after string removal is : " + str(res))
Producción :

The original list : [('Geeks', 1, 2), ('for', 4, 'Geeks'), (45, 'good')]
The list after string removal is : [(1, 2), (4, ), (45, )]

Método #2: Usar la comprensión de listas + isinstance()

Este es un método casi similar para realizar esta tarea en particular, pero el cambio aquí es solo usar la función isinstance para verificar el tipo de datos de string, y el resto de las formulaciones siguen siendo en su mayoría similares.

# Python3 code to demonstrate
# Remove string from tuples
# using list comprehension + isinstance()
  
# initializing list
test_list = [('Geeks', 1, 2), ('for', 4, 'Geeks'), (45, 'good')]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + isinstance()
# Remove string from tuples
res = [tuple(j for j in i if not isinstance(j, str))
                                 for i in test_list]
  
# print result
print("The list after string removal is : " + str(res))
Producción :

The original list : [('Geeks', 1, 2), ('for', 4, 'Geeks'), (45, 'good')]
The list after string removal is : [(1, 2), (4, ), (45, )]

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 *