Luego de nuestros posts anteriores sobre el tema, en esta ocasión ilustraremos el uso de diccionarios en Python mediante un ejemplo. En concreto, contaremos la cantidad de veces que aparece una palabra dada dentro de una cadena de texto cualquiera. Utilizaremos el texto completo del Martín Fierro, capítulo 1, como ilustración, que podemos descargar desde aquí.
Uso de diccionarios en Python
Para empezar, repasemos en qué consistirá nuestro ejemplo. Utilizaremos un diccionario vacío al que iremos agregando elementos. Cada uno estará formado por las palabras del texto como claves y como valores la cantidad de veces que cada palabra se encuentra en el mismo. Usaremos la función setdefault
para crear nuevas claves (palabras) a medida que se encuentren y establecer su valor inicial. Finalmente, importaremos el módulo pprint que contiene una función con el mismo nombre, para presentar los resultados del conteo.
El código Python es el siguiente. La función split
nos devolverá una lista formada por las palabras de primerCapitulo. Previamente, upper
convertirá la cadena a mayúsculas para no hacer diferencia con palabras escritas en minúscula. Por último, hemos excluido el texto por cuestiones de brevedad. Al realizar el ejemplo, deberemos incluirlo donde se indica.
import pprint primerCapitulo = ''' COLOCAR EL TEXTO AQUÍ ''' conteo = {} for palabra in primerCapitulo.upper().split(): conteo.setdefault(palabra, 0) conteo[palabra] = conteo[palabra] + 1 pprint.pprint(conteo)
Resultados del ejemplo
Al ejecutar el código que aparece arriba, deberíamos obtener un resultado similar al mostrado en la Fig. 1:
Al observar el resultado que aparece en la Fig. 1 seguramente pensaremos que sería ideal disponer de una manera de ordenar las palabras según el número de ocurrencias. Ese será precisamente el enfoque de nuestro próximo post. Por el momento, podemos ver en la práctica un uso de diccionarios en Python. Con menores modificaciones podemos contar la cantidad de veces que aparece un determinado caracter. Inclusive podemos contar la cantidad de palabras por oración. ¿Se animan a investigar cómo?
¡No olviden suscribirse al blog para conocer la respuesta pronto!