Python | Longitudes de palabras en String

A veces pasamos por situaciones en las que necesitamos obtener todas las longitudes de las palabras presentes en la string, esto puede ser una tarea tediosa si se realiza utilizando un método ingenuo. Por lo tanto, tener taquigrafías para realizar esta tarea siempre es útil. Analicemos ciertas formas de lograr esto.

Método n. ° 1: al usarsplit() + len()
la función de división, podemos dividir la string en una lista de palabras y es el método más genérico y recomendado si se desea realizar esta tarea en particular. Pero el inconveniente es que falla en los casos en que la string contiene signos de puntuación. El len() se usa para calcular la longitud de la string.

# Python3 code to demonstrate 
# Words lengths in String
# using split()
  
# initializing string 
test_string = "Geeksforgeeks is best Computer Science Portal"
  
# printing original string
print ("The original string is : " + test_string)
  
# using split()
# Words lengths in String
res = list(map(len, test_string.split()))
  
# printing result
print ("The list of words lengths is : " + str(res))
Producción :

The original string is : Geeksforgeeks is best Computer Science Portal
The list of words lengths is : [13, 2, 4, 8, 7, 6]

Método #2: Usoregex( findall() ) + len()
En los casos que contienen todos los caracteres especiales y signos de puntuación, como se discutió anteriormente, el método convencional de encontrar palabras en una string usando división puede fallar y, por lo tanto, requiere expresiones regulares para realizar esta tarea. La función findall devuelve la lista después de filtrar la string y extraer palabras ignorando los signos de puntuación. El len() se usa para calcular la longitud de la string.

# Python3 code to demonstrate 
# Words lengths in String
# using regex( findall() )
import re
  
# initializing string 
test_string = "Geeksforgeeks, is best @# Computer Science Portal.!!!"
  
# printing original string
print ("The original string is : " + test_string)
  
# using regex( findall() )
# Words lengths in String
res = list(map(len, re.findall(r'\w+', test_string)))
  
# printing result
print ("The list of words lengths is : " + str(res))
Producción :

The original string is : Geeksforgeeks is best Computer Science Portal
The list of words lengths is : [13, 2, 4, 8, 7, 6]

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 *