Skip to main content

Diccionarios en Python

Los diccionarios son estructuras de datos que almacena una serie de valores utilizando otros como referencia para su acceso y almacenamiento. Los diccionarios se asemejan a los arreglos asociativos de PHP o a los objetos JSON de JavaScript ya que cada elemento es un par de clave valor, donde el primero debe ser único y será utilizado para obtener el dato almacenado. Al igual que las listas, los diccionarios son mutables e iterables y representan una colección de objetos que pueden ser de diferentes tipos, pero no tienen un orden específico, ya que el intérprete de Python se encarga de eso.

Declaración

Para declarar un diccionario se utilizan las llaves ({ }) entre las que se encuentran los pares clave – valor separados por comas, la clave de cada elemento está separada del correspondiente valor por dos puntos (:) en el siguiente ejemplo se muestra como declarar un diccionario.

Diccionario = {'a':1,'b':2,'c':3}

Otra manera de declarar un diccionario es utilizando la función dict().

Diccionario = dict(a=1, b=2, c=3)

Acceso, inserciones y borrados

Como lo vimos en el artículo de tuplas, para acceder a los elementos de esta, tenemos que usar el índice en función a la posición que ocupa cada de elemento. Los diccionarios, en cambio necesitamos utilizar la clave para accesar al valor de cada elemento. Usando nuestro ejemplo anterior para accesar al valor de 1 pondremos lo siguiente

Diccionario ['a']

Para modificar cualquier elemento basta con acceder con su clave de la siguiente manera:

Diccionario ['a'] = 2

Con esto el elemento con clave ‘a’ pasa a tener un valor de 2.

Para añadir un elemento es lo mismo que al modificar uno ya existente, ya que si la clave no existe se agrega automáticamente y se le añadirá su correspondiente valor.

Para iterar sobre los diccionarios tenemos tres métodos propios de esta estructura de datos: ítems (), values (), keys (). Por su nombre nos damos una idea de lo que realizan, el primero nos da acceso tanto a claves como a valores, el segundo nos devuelve los valores, y el tercero solo nos devuelve las claves del diccionario. Veamos a estos métodos en acción:

Cabe mencionar que al usar ítems() nos genera una lista y dentro de esta lista en cada posición hay tuplas con la clave y valor, en los dos últimos métodos nos genera una lista.

Para eliminar elementos usaremos la función del() para ello , necesitaremos parar como parámetro la clave que contiene el valor que deseamos eliminar. Por ejemplo para eliminar la clave ‘c’ hacemos lo siguiente del( Diccionario['c'])

Otra función integrada , en este caso len() también funciona sobre los diccionarios, devolviéndonos el numero total de elementos contenidos.

El operador   in en un diccionario sirve para comprobar si una clave existe. En caso afirmativo devolverá el valor de True y False en otro caso: x in Diccioanario  nos devolverá False

 

 

 

Leer Más

Hack del cifrado cesar

Ya vimos cómo es que funciona el cifrado cesar y programamos una función en la cual cifrábamos y des cifrábamos un mensaje, si no has visto la entrada ve aquí: cifrado cesar .

El cifrado cesar no nos da ninguna seguridad ya que como usa como claves las letras del abecedario es muy fácil de romper a través del método de fuerza bruta, el cual consiste en probar todas las claves posibles que en este caso son 26. Cada vez que probamos con una clave de ciframos el mensaje , lo volvemos a cifrar usando la clave que estamos probando y lo comparamos con el mensaje cifrado que nos dio el usuario , si se cumple esta condición se ha encontrado la clave correcta , si no se cumple prueba con la letra siguiente.

Código para romper el cifrado cesar

 

Leer Más

Cifrado Cesar

El cifrado cesar es un método de cifrado por transposición o desplazamiento, su origen se remonta a la antigua Roma donde julio cesar, de ahí el nombre del algoritmo, lo utilizaba para hacer llegar sus órdenes a sus generales en batalla con el fin de que si el mensaje era interceptado por el enemigo este no pudiera leerlo.

El cifrado funciona desplazando las letras según el numero clave por ejemplo, la letra A se cambiaría por la D si nuestra clave fuera 3, y la B pasaría a ser E y así sucesivamente. Este método de cifrado en la actualidad no provee ningún grado de seguridad ya que es muy fácil de romper, falta observar las letras que se repiten con más frecuencia, por ejemplo en el español la letra E es la más usada por lo tanto si vemos un texto cifrado en el cual se repite muchas veces la letra J podríamos calcular la clave restando el valor de la J menos el valor de la E obteniendo así un 5 , este número seria nuestra clave para poder descifrar el mensaje.

Código para cifrar y descifrar

Ahora que hemos visto un poco de historia veamos como programar una función para cifrar y descifrar mensajes utilizando python, en la parte de abajo les dejo el código comentado.

 

 

Espero que les haya gustado la entrada no olviden compartirla , en futuras entradas publicare más métodos criptográficos.

 

Leer Más

Método de integración Simpson 1/3

 

Código en python utilizando el método de Simpson 1 / 3 para integrales definidas, esta función recibe cuatro argumentos, el primero es el número de iteraciones (n) , el intervalo inferior (a) , el intervalo superior(b) , y la función que queremos integrar (f).

El valor de N es un entero.

El valor de los intervalos a y b son de tipo Float.

Y la función es un String por ejemplo «sin(x)».

Pseudo – código.

Implementación en python

 


Leer Más

Tuplas en python


Es una estructura de datos que representa una colección de objetos, pudiendo estos ser de distintos tipos.
Declaración
Se declara utilizando paréntesis, entre los que se deben separarse por comas los elementos que van a formar parte de ella.

 

Cabe mencionar que las tuplas son  un tipo de dato inmutable, esto quiere decir que no es posible asignar directamente un valor a través del índice.

 

Tuplas anidadas

Como una tupla puede almacenar diferentes tipos de datos, es posible anidad diferentes tuplas.

 

 

Recorriendo Tuplas

Una característica de las tuplas es que son objetos  iterables; es decir, con un sencillo bucle for podemos recorrer fácilmente todos los elementos.

 

Operaciones con tuplas

Las operaciones que podemos realizar con las tuplas son la de concatenación entre dos tuplas al usar el operando “ + ” .

 

Otro operador que podemos usar con las tuplas es “ * ”, que sirve para crear una nueva lista donde los elementos de la original se repiten n veces.

 

Métodos   de las tuplas

Los principales métodos que incluyen las tuplas son index () y count (). El primero de ellos recibe como parámetro un valor  y devuelve el  índice de la posición que ocupa en la tupla dicho valor.

En este caso nos devolvería un 2 ya que el 20 esta en esa posición dentro de nuestra tupla.

El método count () sirve para obtener el número de ocurrencias de un elemento en una tupla .

 

También podemos usar la función integrada len () que retorna el número de elementos de la misma.

 

 

Leer Más