miércoles, 14 de febrero de 2018

Zona Python # 10 .- Diccionarios de datos en Python

Que son y como se usan los diccionarios en Python

Un Diccionario en Python es una estructura de datos y un tipo de dato con características especiales que nos permite almacenar cualquier tipo de valor como enteros, cadenas, listas e incluso otras funciones. Estos diccionarios nos permiten además identificar cada elemento por una clave (Key).

diccionario = {'país' : 'México', 'ciudad' : ´Aguascalientes´, 'diccionario' : ['ejemplo', 1] }

Podemos acceder al elemento de un Diccionario mediante la clave de este elemento:

1.- print diccionario['país']
2.- print diccionario['ciudad']
3.- print diccionario['diccionario']

Y su resultado sería:

1.- México
2.- Aguascalientes
3.- [´ejemplo, 1]´

Podemos insertar una lista dentro de un diccionario. Para acceder a cada uno de sus elementos usamos los índices. En el caso de la lista dentro de nuestra tupla de ejemplo sería de la siguiente forma:

1.- print diccionario['diccionario'][0]
2.- print diccionario['diccionario'][1]

Cuyo resultado sería:

1.- ejemplo
2.- 1

Métodos de los Diccionarios

dict ()

Recibe como parámetro una representación de un diccionario y si es factible, devuelve un diccionario de datos.

dic = dict(nombre='David', apellido='Pérez', edad=36)
dic → {‘nombre’ : 'David', ‘apellido’ : 'Pérez', ‘edad’ : 36}

zip()

Recibe como parámetro dos elementos iterables, ya sea una cadena, una lista o una tupla. Ambos parámetros deben tener el mismo número de elementos. Se devolverá un diccionario relacionando el elemento i-esimo de cada uno de los iterables.

dic = dict(zip('abcd',[1,2,3,4]))
dic → {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}

items()

Devuelve una lista de tuplas, cada tupla se compone de dos elementos: el primero será la clave y el segundo, su valor.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
items = dic.items()
items → [(‘a’,1),(‘b’,2),(‘c’,3),(‘d’,4)]

keys()

Retorna una lista de elementos, los cuales serán las claves de nuestro diccionario.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
keys= dic.keys()
keys→ [‘a’,’b’,’c’,’d’] 

values()

Retorna una lista de elementos, que serán los valores de nuestro diccionario.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
values= dic.values()
values→ [1,2,3,4] 

clear()

Elimina todos los ítems del diccionario dejándolo vacío.

dic 1 = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
dic1.clean()
dic1 → { }

copy()

Retorna una copia del diccionario original.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
dic1 = dic.copy()
dic1 → {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}

fromkeys()

Recibe como parámetros un iterable y un valor, devolviendo un diccionario que contiene como claves los elementos del iterable con el mismo valor ingresado. Si el valor no es ingresado, devolverá none para todas las claves.

dic = dict.fromkeys(['a','b','c','d'],1)
dic → {‘a’ : 1, ’b’ : 1, ‘c’ : 1 , ‘d’ : 1}

get()

Recibe como parámetro una clave, devuelve el valor de la clave. Si no lo encuentra, devuelve un objeto none.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
valor = dic.get(‘b’) 
valor → 2

pop()

Recibe como parámetro una clave, elimina esta y devuelve su valor. Si no lo encuentra, devuelve error.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
valor = dic.pop(‘b’) 
valor → 2
dic → {‘a’ : 1, ‘c’ : 3 , ‘d’ : 4}

setdefault()

Funciona de dos formas. En la primera como get

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
valor = dic.setdefault(‘a’)
valor → 1

Y en la segunda forma, nos sirve para agregar un nuevo elemento a nuestro diccionario.

dic = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
valor = dic.setdefault(‘e’,5)
dic → {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4 , ‘e’ : 5}

update()

Recibe como parámetro otro diccionario. Si se tienen claves iguales, actualiza el valor de la clave repetida; si no hay claves iguales, este par clave-valor es agregado al diccionario.

dic 1 = {‘a’ : 1, ’b’ : 2, ‘c’ : 3 , ‘d’ : 4}
dic 2 = {‘c’ : 6, ’b’ : 5, ‘e’ : 9 , ‘f’ : 10}
dic1.update(dic 2)
dic 1 → {‘a’ : 1, ’b’ : 5, ‘c’ : 6 , ‘d’ : 4 , ‘e’ : 9 , ‘f’ : 10}

Zona Python # 9 .- Tuplas en Python

Que son y como se usan las tuplas en Python

Las Tuplas en Python son como una caja imaginaria en la que se almacenan una serie de valores separados por comas entre paréntesis. Las tuplas no pueden cambiar su contenido una vez creadas.

tupla_ejemplo1 = (1, 2, 3, 4, 5)
tupla_ejemplo2 = (1, “uno”, 2, “dos”, 3, “tres”)

Se puede acceder a los elementos de una tupla utilizando los índices como en las listas, si tuviésemos la tupla tupla_ejemplo1 y quisiéramos acceder a sus elementos, lo haríamos así::

1.- print tupla[0]
2.- print tupla[2]
3.- print tupla[4]
4.- print tupla[1:2]
5.- print tupla[3:]

Y el resultado sería:

1.- 1
2.- 3
3.- 5
4.- 2, 3
5.- 4, 5

Zona Python # 8 .- Listas en Python

Que son y como se usan las listas en Python.

Hoy hablaremos sobre la estructura de datos más usada en los lenguajes de programación, las listas. Las listas son conjuntos ordenados de elementos (números, cadenas, listas, etc). Las listas se delimitan por corchetes ([ ]) y los elementos se separan por comas. 

En Python, una lista también es una estructura de datos y un tipo de dato con algunas características de gran utilidad. En Python las listas nos permiten almacenar cualquier tipo de valor como enteros, cadenas y hasta otras funciones, otras listas; por ejemplo:

lista = [8, “ocho”, False, [13, “uno”]]

Podemos acceder a estos datos o elementos de nuestra lista mediante un índice, el cual se indica a Python entre [] de la siguiente forma y tomando como ejemplo la lista que hemos declaro anteriormente: 

1.- print lista[0] 
2.- print lista[1] 
3.- print lista[3][0] 
4.- print lista[3][1] 
5.- print lista[1:3] 

El resultado por pantalla de las instrucciones pasadas sería:

1.- 8
2.- ocho
3.- 13
4.- uno
5.- 8, ocho, [13, uno]

Métodos de las Listas

Para revisar algunos métodos en Python usaremos la siguiente lista: 

lista = [8, “ocho”, False, [13, “uno”]]

Append()

Nos permite agregar nuevos elementos a una lista. Podemos agregar una lista mediante este método, sin embargo, esta se agregará como uno y solo un elemento.

1.- lista.append(105) 
2.- lista.append([105, 106]) 

Si mandamos a imprimir por pantalla la lista con los nuevos elementos, el resultado sería:

1.- [8, “ocho”, False, [13, “uno”], 105]
2.- [8, “ocho”, False, [13, “uno”], [105, 106]]

Extend()

Nos permite agregar elementos dentro de una lista, pero a diferencia de append al momento de agregar una lista, cada elemento de esta lista se agrega como un elemento más dentro de la otra lista.

1.- lista.extend([105,106]) 

Resultado:

1.- [8, “ocho”, False, [13, “uno”], 105, 106]

Remove()

Remueve el elemento que se le pase como parámetro de la lista.

1.- lista.remove(8) 

El resultado sería:

1.- [“ocho”, False, [13, “uno”], 105]

Index()

Devuelve el número de índice (posición en a lista) del elemento que le pasemos por parámetro.

1.- lista.index('ocho') 

Lo cual nos daría como resultado el indice de la cadena ¨ocho¨:

1.- 2

Count()

Nos permite conocer cuántas veces un elemento de una lista se repite.

1.- lista.count(8) 

El resultado nos mostrara cuantas veces se repite el número 8 en nuestra lista:

1.- 1

Reverse()

Invierte los elementos de una lista.

1.- lista.reverse() 

Ahora nuestra lista quedará de la siguiente forma:

1.- [105, [13, “uno”], False, “ocho”, 8]