Python: filas de filtro con solo alfabetos de la lista de listas

Dado Matrix, escriba un programa de Python para extraer filas que solo contengan alfabetos en sus strings.

Ejemplos:

Entrada : test_list = [[“gfg”, “is”, “best”], [“Geeks4Geeks”, “good”], [“Gfg is good”], [“love”, “gfg”]] 
Salida : [ [‘gfg’, ‘is’, ‘best’], [‘love’, ‘gfg’]] 
Explicación : se extraen todas las strings con solo letras.
 

Entrada : test_list = [[“gfg”, “is”, “!best”], [“Geeks4Geeks”, “good”], [“Gfg is good”], [“love”, “gfg”]] 
Salida : [[‘love’, ‘gfg’]] 
Explicación : se extraen todas las strings con solo letras. 

Método #1: Usar isalpha() + all() + comprensión de lista

En esto, verificamos todos los alfabetos usando isalpha() y all() se usa para asegurar que todas las strings contengan solo los alfabetos. La comprensión de la lista se utiliza para iterar a través de las filas.

Python3

# Python3 code to demonstrate working of
# Filter rows with only Alphabets
# Using isalpha() + all() + list comprehension
 
# initializing list
test_list = [["gfg", "is", "best"], ["Geeks4Geeks", "good"],
             ["Gfg is good"], ["love", "gfg"]]
 
# printing original lists
print("The original list is : " + str(test_list))
 
# all() checks for all strings to contain alphabets
res = [sub for sub in test_list if all(ele.isalpha() for ele in sub)]
 
# printing result
print("Filtered Rows : " + str(res))

Producción:

La lista original es: [[‘gfg’, ‘is’, ‘best’], [‘Geeks4Geeks’, ‘good’], [‘Gfg is good’], [‘love’, ‘gfg’]] Filas filtradas : [[‘gfg’, ‘is’, ‘best’], [‘love’, ‘gfg’]]

Método #2: Usando filter() + lambda + join() + isalpha()

En esto, concatenamos cada string usando join() y probamos si son todos los alfabetos usando isalpha(), y agregamos si el veredicto es verdadero.

Python3

# Python3 code to demonstrate working of
# Filter rows with only Alphabets
# Using filter() + lambda + join() + isalpha()
 
# initializing list
test_list = [["gfg", "is", "best"], ["Geeks4Geeks", "good"],
             ["Gfg is good"], ["love", "gfg"]]
 
# printing original lists
print("The original list is : " + str(test_list))
 
# join() used to concatenate strings
res = list(filter(lambda sub: ''.join(
    [ele for ele in sub]).isalpha(), test_list))
 
# printing result
print("Filtered Rows : " + str(res))

Producción:

La lista original es: [[‘gfg’, ‘is’, ‘best’], [‘Geeks4Geeks’, ‘good’], [‘Gfg is good’], [‘love’, ‘gfg’]] Filas filtradas : [[‘gfg’, ‘is’, ‘best’], [‘love’, ‘gfg’]]

La complejidad de tiempo y espacio para todos los métodos es la misma:

Complejidad temporal: O(n 2 )

Complejidad espacial: O(n)

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 *