Contador con Diccionarios en Python


Usando Diccionarios Python para contar cuantas veces aparece una letra en una cadena, también podríamos crear un programa para contar cuantas veces Aparece una palabra o la concatenación de 2 palabras en un texto, por ejemplo esto se hace mucho en la Biblia podríamos contar cuantas veces aparece una palabra griega en una biblia griega o cualquier idioma

Comencemos con este ejemplo el otro lo colocare para la proxima

cadena = raw_input("Escriba una cadena de caracteres: ")

d = dict()

for caracter in cadena:
    if caracter not in d:
        d[caracter] = 1
    else:
        d[caracter] = d[caracter] + 1
print d

 

Hay que aclarar que estamos creando un histograma que no es mas que crear un contador para saber la frecuencia para nuestro caso de una cadena de caracteres.

Muchas veces me moleste en la escuela y en la universidad cuando preguntaba para que sirve eso o donde se usa, en especial en matemáticas y recibía la respuesta de algún día lo usaras o es para aprender a razonar quizá esta se una de las causas por las que veo menos motivación y dedicación hasta en los profesionales o por las razones que se deserta de estudiar estoy seguro que es por motivación y si recibimos estas respuesta nos desmotivamos o buscamos en Internet 😀

Los histogramas son de gran ayuda por ejemplo podemos saber si un texto esta en ingles o español solo con ver un histograma sin ni siquiera ver el texto, de esto tratare de hablar luego…

Primero pedimos ingresar una cadena que puede ser de cualquier tipo por ejemplo podríamos abrir un archivo lo haremos en la próxima entrada y contar las letras, en la segunda linea creamos un diccionario vació, luego creamos un bucle for donde la variable de iteración es carácter para cada elemento de la cadena ingresada, ahora la parte funcional, si el carácter no esta en el diccionario lo agregamos de lo contrario es decir si si esta en el diccionario, aquí ahí un punto importante para los que no saben que es un diccionario.

Dicen que un diccionario es similar a una lista por que tiene elementos pero estos elementos son del tipo Clave:Valor y para obtener el valor ay que ingresar la clave es como una caja fuerte si quieres abrirla necesitas la clave pero también se les puede llamar por indices, en el caso que tenemos entre manos si nos damos cuenta tenemos d[caracter] = d[caracter] + 1 donde caracter es lo único que nos importa ya que es la manera de conectar la clave con el valor y el valor es ese 1 que aparece pero si el caracter H tenia 5 es a ese valor que se le sumara 1 ya nos damos cuenta que no es como la lista, ya que el numero que cambia es el del valor y la clave permanece digamos inmutable

Como en python siempre se esta buscando la manera de hacer mejor y mas legibles las cosas podemos utilizar el método get que nos permite gestionar las claves que no están en el diccionario y agregarles un valor por defecto esta es la forma que los programadores de python escriben el codigo anterior

cadena = raw_input("Escriba una cadena de caracteres: ")

d = dict()

for caracter in cadena:
    d[caracter] = d.get(caracter , 0) + 1
print d

Hemos eliminado los condicionales y si ahora el carácter aparece en el diccionario se le sumara 1 si no aparece se le agregara 1 Los dos programas hacen el mismo trabajo pero 1 es mas pythonico que otro y debemos esforzarnos por hacer las cosas lo mejor posible como si fueran para Dios eso es lo que me gusta de Python

NOTA IMPORTANTE:
En los próximos días voy a tomar la importante decisión de colocar los artículos mas ordenados

Ya que es importante para mi que un lector que quiera seguir los temas lo haga mas ordenadamente y así pueda aprender mas 😀
También esto me ayudara para colocar los temas en orden para la pagina que voy a pagar 😀
Recuerden que Dios es un Dios de orden 😀

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s