Python: filas de filtro sin strings de espacio

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *