Python: extrae elementos de string de array mixta

Dada una array, extraiga todos los elementos que son del tipo de datos de string.

Entrada : test_list = [[5, 6, 3], [“Gfg”, 3], [9, “best”, 4]] Salida: [‘ 
Gfg ‘, ‘best’] 
Explicación : se extraen todas las strings.

Entrada : test_list = [[“Gfg”, 3], [9, “best”, 4]] 
Salida : [‘Gfg’, ‘best’] 
Explicación : se extraen todas las strings. 

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

La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, iteramos listas anidadas usando la comprensión de listas y verificamos la instancia de string usando isinstance() .

Python3

# Python3 code to demonstrate working of
# Extract String elements from Mixed Matrix
# Using list comprehension + isinstance()
 
# initializing lists
test_list = [[5, 6, 3], ["Gfg", 3, "is"], [9, "best", 4]]
 
# printing original list
print("The original list : " + str(test_list))
 
# strings are extracted using isinstance()
res = [ele for sub in test_list for ele in sub if isinstance(ele, str)]
 
# printing result
print("The String instances : " + str(res))
Producción

The original list : [[5, 6, 3], ['Gfg', 3, 'is'], [9, 'best', 4]]
The String instances : ['Gfg', 'is', 'best']

Método #2: Usar chain.from_iterables() + comprensión de lista + isinstance()

Esta es otra forma más en la que se puede realizar esta tarea. Toda Matrix se aplana y luego se aplica isinstance() sobre ella para comprobar si hay elementos de string en la lista aplanada.

Python3

# Python3 code to demonstrate working of
# Extract String elements from Mixed Matrix
# Using chain.from_iterables + list comprehension + isinstance()
from itertools import chain
 
# initializing lists
test_list = [[5, 6, 3], ["Gfg", 3, "is"], [9, "best", 4]]
 
# printing original list
print("The original list : " + str(test_list))
 
# strings are extracted using isinstance()
# using chain.from_iterables()
res = [ele for ele in chain.from_iterable(test_list) if isinstance(ele, str)]
 
# printing result
print("The String instances : " + str(res))
Producción

The original list : [[5, 6, 3], ['Gfg', 3, 'is'], [9, 'best', 4]]
The String instances : ['Gfg', 'is', 'best']

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 *