Programa Python para contar palabras en una oración

El preprocesamiento de datos es una tarea importante en la clasificación de textos. Con el surgimiento de Python en el campo de la ciencia de datos, es fundamental tener ciertas abreviaturas para tener la ventaja entre otros. Este artículo analiza formas de contar palabras en una oración, comienza con palabras separadas por espacios, pero también incluye formas en presencia de caracteres especiales. Analicemos ciertas formas de realizar esto.

Métodos Quick Ninja: código de una línea para encontrar palabras de conteo en una oración con entradas estáticas y dinámicas.

Python3

# Quick Two Line Codes
countOfWords = len("Geeksforgeeks is best Computer Science Portal".split())
print("Count of Words in the given Sentence:", countOfWords)
 
# Quick One Line Codes
print(len("Geeksforgeeks is best Computer Science Portal".split()))
 
# Quick One Line Code with User Input
print(len(input("Enter Input:").split()))

Producción:

 

Método n.° 1: Usar la función de división split() es un método bastante útil y, por lo general, bastante genérico para sacar palabras de la lista, pero este enfoque falla una vez que introducimos caracteres especiales en la lista. 

Python3

# Python3 code to demonstrate
# to count words 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()
# to count words in string
res = len(test_string.split())
 
# printing result
print ("The number of words in string are : " +  str(res))
Salida: La string original es: Geeksforgeeks es el mejor Portal de Ciencias de la Computación El número de palabras en la string es: 6

Método #2: Uso de expresiones regulares (findall()) Las expresiones regulares deben usarse en caso de que necesitemos manejar los casos de signos de puntuación o caracteres especiales en la string. Esta es la forma más elegante en la que se puede realizar esta tarea. 

Ejemplo

Python3

# Python3 code to demonstrate
# to count words 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())
# to count words in string
res = len(re.findall(r'\w+', test_string))
 
# printing result
print ("The number of words in string are : " +  str(res))
Salida: La string original es: Geeksforgeeks, es el mejor @# Computer Science Portal.!!! El número de palabras en la string es: 6

Método #3: Usando sum() + strip() + split() Este método realiza esta tarea en particular sin usar expresiones regulares. En este método, primero verificamos todas las palabras que consisten en todos los alfabetos, si es así, se agregan a la suma y luego se devuelven. 
 

Python3

# Python3 code to demonstrate
# to count words in string
# using sum() + strip() + split()
import string
 
# initializing string 
test_string = "Geeksforgeeks,    is best @# Computer Science Portal.!!!"
 
# printing original string
print ("The original string is : " +  test_string)
 
# using sum() + strip() + split()
# to count words in string
res = sum([i.strip(string.punctuation).isalpha() for i in test_string.split()])
 
# printing result
print ("The number of words in string are : " +  str(res))
Salida: La string original es: Geeksforgeeks, es el mejor @# Computer Science Portal.!!! El número de palabras en la string es: 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 *