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