Python - Python: código contar palabras. Necesito ayuda.

 
Vista:

Python: código contar palabras. Necesito ayuda.

Publicado por Raúl López (2 intervenciones) el 26/11/2018 22:15:19
Hola, chicos. Bien, creé un código que te cuenta el número de veces que aparece una palabra en un texto e imprime la palabra y el número de ocasiones que apareció algo así:
el : 2
perro : 1
bonito : 1
Mi problema es que quiero dejar el texto "limpio" porque me aparece la misma palabra pero con algún carácter entonces se crea una nueva palabra, ejemplo:
el : 2
el. : 1
perro : 1
perro) :1
Les dejo el código para ver si pueden apoyarme desde ahí.

1
2
3
4
5
6
7
8
9
10
import functools
import sys
from collections import Counter
 
students = {}
ana = sys.stdin.readline().strip().split(" ")
palabras = Counter(ana).most_common()
diccionario = dict((key,value) for key,value in palabras)
for key, value in diccionario.items():
    print(key, ": "+str(value))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 1.437
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Python: código contar palabras. Necesito ayuda.

Publicado por xve (1637 intervenciones) el 27/11/2018 08:22:50
Hola Raúl, la única manera que se me ocurre, es eliminando todos esos caracteres antes de hacer el split()...

Para ello, lo puedes hacer con una expresión regular... algo así:
1
2
3
ana = sys.stdin.readline().strip()
regex = re.compile('[,\.!?()]')
ana=regex.sub(' ', ana).split()

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar