Dado Matrix, extrae filas en las que las strings no tienen espacios.
Ejemplos:
Entrada : test_list = [[“gfg is”, “best”], [“gfg”, “good”], [“gfg is cool”], [“love”, “gfg”]]
Salida : [[‘gfg ‘, ‘bueno’], [‘amor’, ‘gfg’]]
Explicación : ambas listas tienen strings y no tienen espacios.
Entrada : test_list = [[“gfg is”, “best”], [“gfg “, “good”], [“gfg is cool”], [“love”, “gfg”]]
Salida : [[‘love ‘, ‘gfg’]]
Explicación : la lista tiene strings que no tienen espacios.
Método n.º 1: usar la comprensión de listas + any() + regex
En esto, verificamos que no haya espacio en cada string usando regex, any() se usa para verificar esto para cualquier string que se encuentre con espacios, esa fila no se agrega.
Python3
# Python3 code to demonstrate working of # Filter rows without Space Strings # Using list comprehension + any() + regex import re # initializing list test_list = [["gfg is", "best"], ["gfg", "good"], ["gfg is cool"], ["love", "gfg"]] # printing original list print("The original list is : " + str(test_list)) # checking for spaces using regex # not including row if any string has space res = [row for row in test_list if not any( bool(re.search(r"\s", ele)) for ele in row)] # printing result print("Filtered Rows : " + str(res))
Producción:
La lista original es: [[‘gfg is’, ‘best’], [‘gfg’, ‘good’], [‘gfg is cool’], [‘love’, ‘gfg’]]
Filas filtradas: [[ ‘gfg’, ‘bien’], [‘amor’, ‘gfg’]]
Método #2: Usando filter() + lambda + any() + regex
En esto, realizamos la tarea de filtrar usando filter() y la función lambda, el resto de las funcionalidades se realizan de la misma manera que el método anterior.
Python3
# Python3 code to demonstrate working of # Filter rows without Space Strings # Using filter() + lambda + any() + regex import re # initializing list test_list = [["gfg is", "best"], ["gfg", "good"], ["gfg is cool"], ["love", "gfg"]] # printing original list print("The original list is : " + str(test_list)) # checking for spaces using regex # not including row if any string has space res = list(filter(lambda row: not any(bool(re.search(r"\s", ele)) for ele in row), test_list)) # printing result print("Filtered Rows : " + str(res))
Producción:
La lista original es: [[‘gfg is’, ‘best’], [‘gfg’, ‘good’], [‘gfg is cool’], [‘love’, ‘gfg’]]
Filas filtradas: [[ ‘gfg’, ‘bien’], [‘amor’, ‘gfg’]]
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