Sei sulla pagina 1di 22

Instituto Tecnolgico de Tapachula

Ing. Sistemas Computacionales

Programacin Lgica y Funcional

PH. D Hctor Peralta Corts

Tema 2. Programacin funcional

Prctica 9. Diccionarios

Alumno(a):
Karina Ventura Roblero

No. De lista: 30

8 Semestre Grupo A

Tapachula, Chiapas a 13 de Marzo del 2017.


ndice

Introduccin 3

Diccionarios 4

Objetivos 5

Materiales 5

Metodologa 5

Desarrollo de la prctica 5

Conclusin 21

Bibliografa 22

2
Introduccin

El uso de diccionarios radica no slo en las grandes posibilidades


que presentan como estructuras para almacenar informacin, sino
tambin en que, en Python, son utilizados por el propio lenguaje
para realizar diversas operaciones y para almacenar informacin de
otras estructuras.

Un diccionario es similar a una lista, pero ms general. En una lista,


las posiciones de los ndices deben ser enteros; en un diccionario,
los ndices pueden ser de (casi) cualquier tipo.

Puedes pensar en un diccionario como una asignacin entre un


conjunto de ndices (a los cuales se les llama claves) y un conjunto
de valores. Cada clave apunta a un valor. La asociacin de una
clave y un valor recibe el nombre de pareja clave- valor, o a veces
elemento.

3
En el presente trabajo se consta de una metodologa y el desarrollo
de la prctica mostrando los programas realizados y los resultados
de cada uno de ellos.

Diccionarios

Un diccionario es una estructura de datos que almacena una serie de valores


utilizando otros como referencia para su acceso y almacenamiento. Cada
elemento de un diccionario es un par clave-valor donde el primero debe ser
nico y ser usado para acceder al valor que contiene. A diferencia de las
tuplas y las listas, los diccionarios no cuentan con un orden especfico, siendo
el intrprete de Python el encargado de decidir el orden de almacenamiento.
Sin embargo un diccionario es iterable, mutable y representa una coleccin de
objetos que pueden ser de diferentes tipos.

Para declarar un diccionario en Python se utilizan las llaves ({}) entre las que se
encuentran los pares clave-valor separados por comas. La clave de cada
elemento se encuentra separada del correspondiente valor por el carcter :.

punto = {'x': 2, 'y': 1, 'z': 4} # clave:valor, clave:valor,

Algunos de los mtodos que se pueden utilizar en un diccionario

4
Los diccionarios tienen una serie de mtodos integrados que nos sern de
mucha utilidad

El mtodo key nos devuelve una lista de todos los claves del diccionario.
El mtodo values nos devuelve una lista de todos los valores del
diccionario.
El mtodo clear elimina todos los elementos de un diccionario.
El mtodo items nos devuelve una lista de tuplas y cada tupla contiene
pares clave:valor. Las tuplas a menudo son tiles para obtener tanto la
clave como el valor al mismo tiempo mientras utilizamos un bucle:
El operador in y not in puede comprobar si una clave est en un
diccionario.
Otro mtodo muy til es update, que nos permite agregar los elementos
pares clave:valor de un diccionario dentro de otro.

Objetivo:

Conocer ms tcnicas para trabajar con funciones y como pasar


parmetros como lo son los tipos de datos diccionarios.

Materiales:

Para el desarrollo de la prctica es necesario utilizar los materiales que se


encuentran descritos en la tabla 9.1.

Tabla 9.1 Materiales y descripcin para el desarrollo de la prctica

Nmero Hardware/Software Descripcin


1 Laptop Lenovo
2 Python Versin 3.6.0

Metodologa

Para que exista una mayor comprensin del desarrollo de la prctica, est
dividida en dos partes:

5
Primer parte: mtodos para manipulacin de diccionario.
Segunda parte: Programa complemento.

Desarrollo de la prctica

Primer parte: mtodos para manipulacin de diccionario.

Captulo 9. Mtodos principales del objeto dict


9.1. Mtodos de eliminacin
9.1.1. Vaciar un diccionario

Mtodo:clear()

>>>diccionario={"color":"violeta","talle":"XS","precio":
174.25}
>>>printdiccionario{'color':'violeta','precio':174.25,'talle':'XS'}

>>>diccionario.clear()
>>>printdiccionario
{}

En la figura 9.1 se observa el cdigo requerido para vaciar un diccionario,


utilizando el mtodo clear(), donde se utiliza el nombre del diccionario seguido
de un punto y del mtodo clear, para as poder realizar el cambio.

Figura 9.1 Cdigo fuente del programa vaciando un diccionario.

El resultado de la ejecucin del programa vaciar un diccionario se muestra en


la figura 9.2, donde se aprecia, cuando se manda a imprimir primero cuando

6
es declarado y segundo cuando es utilizado el mtodo clear donde se vaca el
diccionario.

Figura 9.2 Resultado del programa vaciando un diccionario.

9.2. Mtodos de agregado y creacin


9.2.1. Copiar un diccionario
Mtodo:copy()

>>>diccionario={"color":"violeta","talle":"XS","precio":
174.25}>>>remera=diccionario.copy()
>>>diccionario{'color':'violeta','precio':174.25,'talle':'XS'}
>>>remera{'color':'violeta','precio':174.25,'talle':'XS'}

El cdigo descrito anteriormente se observa en la figura 9.3, lo que realiza es


que mediante el mtodo copy(), copia los valores que existe en un diccionario,
en una nueva variable, declarando una nueva variable, igualando al nombre de
nuestro diccionario existente, seguido de un punto y del mtodo copy().

Figura 9.3 Cdigo fuente del programa copiando un diccionario.

7
Despus de la ejecucin del programa, el resultado se muestra en la figura 9.4,
donde se manda a imprimir el diccionario original y la variable donde se copi
el diccionario, mostrando as los mismos datos de las dos variables.

Figura 9.4 Resultado del programa copiando un diccionario.

>>>diccionario.clear()>>>diccionario{}
>>>remera{'color':'violeta','precio':174.25,'talle':'XS'}
>>>musculosa=remera
>>>remera{'color':'violeta','precio':174.25,'talle':'XS'}
>>>musculosa{'color':'violeta','precio':174.25,'talle':'XS'}

>>>remera.clear()
>>>remera{}
>>>musculosa{}
>>>

El cdigo anterior es la continuacin del programa copiando valores, el


programa completo se muestra en la figura 9.5.

Figura 9.5 Cdigo fuente del programa copiando un diccionario (completo).

Los resultados obtenidos de la ejecucin del programa se muestran en la figura


9.6, donde se puede observar cmo se copian los valores de un diccionario y
se muestran las impresiones, as como el vaciado tambin de los mismos.

Figura 9.6 Resultado del programa copiando un diccionario (completo).

8.2.2. Crear un nuevo diccionario desde las claves de una secuencia


Mtodo:dict.fromkeys(secuencia[,valorpordefecto])

>>>secuencia=["color","talle","marca"]

9
>>>diccionario1=dict.fromkeys(secuencia)
>>>diccionario1{'color':None,'marca':None,'talle':None}
>>>diccionario2=dict.fromkeys(secuencia,'valorxdefecto')
>>>diccionario2{'color':'valorxdefecto','marca':'valorxdefecto',
'talle':'valorxdefecto'}

En la figura 9.7 se observa el cdigo del programa claves de secuencia, lo que


este programa realiza un diccionario con las claves de una secuencia, se
declara una secuencia con ciertas claves y de all son tomados para llenar un
diccionario y al igual que para llenar los datos, tambin se le agrega un valor
por defecto, esto lo hace mediante el mtodo fromkeys().

Figura 9.7 Cdigo fuente del programa claves de secuencia.

Los resultados del programa claves de secuencia se muestra en la figura 9.8,


donde se muestra en la primera impresin que las claves de una secuencia
fueron agregados a un diccionario, mientras que la segunda lnea de impresin
los valores de esas claves fueron llenadas con un valor por defecto.

Figura 9.8 Resultado del programa claves de secuencia.

9.2.3. Concatenar diccionarios


Mtodo:update(diccionario)

>>>diccionario1={"color":"verde","precio":45}
>>>diccionario2={"talle":"M","marca":"Lacoste"}

10
>>>diccionario1.update(diccionario2)
>>>diccionario1{'color':'verde','precio':45,'marca':'Lacoste',
'talle':'M'}

En la figura 9.9 se muestra el cdigo para concatenar dos diccionarios


mediante el mtodo update, se observa la declaracin de dos diccionarios con
valores diferentes, para as ver el cambio o la concatenacin que realiza.

Figura 9.9 Cdigo fuente del programa update.

El resultado obtenido se muestra en la figura 9.10, donde se observa que los


dos diccionarios, los valores que tenan en su contenido, son concatenados en
uno solo, es decir los valores son unidos en un solo.

Figura 9.10 Resultado del programa update.

9.2.4. Establecer una clave y valor por defecto


Mtodo:setdefault("clave"[,None|valor_por_defecto])

Silaclavenoexiste,lacreaconelvalorpordefecto.Siempreretornaelvalorparalaclavepasadacomo
parmetro.

11
>>>remera={"color":"rosa","marca":"Zara"}
>>>clave=remera.setdefault("talle","U")
>>>clave'U'
>>>remera{'color':'rosa','marca':'Zara','talle':'U'}
>>>remera2=remera.copy()
>>>remera2{'color':'rosa','marca':'Zara','talle':'U'}
>>>clave=remera2.setdefault("estampado")
>>>clave
>>>remera2{'color':'rosa','estampado':None,'marca':'Zara',
'talle':'U'}
>>>clave=remera2.setdefault("marca","Lacoste")
>>>clave'Zara'
>>>remera2{'color':'rosa','estampado':None,'marca':'Zara',
'talle':'U'}

El cdigo anterior se observa en la figura 9.11, la primera parte del cdigo


declara un diccionario, y despus agrega una nueva clave y el valor de ella,
utilizando el mtodo setdefault, tambin utiliza el mtodo copy para copiar
valores.

Figura 9.11 Cdigo fuente del programa setdefault.

Los resultados obtenidos de las lneas de cdigo se muestran en la figura 9.12,


donde podemos ver que agrega al diccionario declarado al principio una nueva
clave y su valor correspondiente descrito en el mtodo setdefault, al final
muestra las modificacin a diferencia de las primeras impresiones.

12
Figura 9.12 Resultado del programa setdefault.

9.3. Mtodos de retorno


9.3.1. Obtener el valor de una clave
Mtodo:get(clave[,"valorxdefectosilaclavenoexiste"])

>>>remera.get("color")'rosa'
>>>remera.get("stock")
>>>remera.get("stock","sinstock")'sinstock'

El cdigo brindado anteriormente se muestra en la figura 9.13, este programa


retorna el valor de la clave que se requiere utilizando el mtodo get. Tambin
con el mismo mtodo agrega una nueva clave al mismo tiempo ingresando el
valor de este mismo.

Figura 9.13 Cdigo del programa mtodo get.

13
En la figura 9.14 se muestra los resultados del cdigo donde se utiliz el
mtodo get, en el cual se observa el valor de la clave que se mand a imprimir,
as como tambin el nuevo valor agregado.

Figura 9.14 Resultado del programa mtodo get.

9.3.2. Saber si una clave existe en el diccionario


Mtodo:has_key(clave)

>>>existe=remera.has_key("precio")
>>>existeFalse
>>>existe=remera.has_key("color")
>>>existeTrue

El cdigo anterior al ingresarlo en Python marca error, dependiendo de la


versin de Python. Es por eso que fue agregado el cdigo de la figura 9.15,
donde se utiliza la sentencia in, donde se le indica que busque tal clave dentro
del diccionario (nombre del diccionario). Si la clave se encuentra imprime True
y si no existe imprime False.

14
Figura 9.15 Cdigo fuente del programa verdadero falso.

La figura 9.16 muestra el resultado de la ejecucin del programa verdadero


falso, el cual en la primera lnea imprime False, es porque la clave precio no
existe dentro del diccionario a diferencia de la clave color, el cual manda a
imprimir True, esto quiere decir que si se encuentra dentro del diccionario.

Figura 9.16 Resultado del programa verdadero falso.

9.3.3. Obtener las claves y valores de un diccionario


Mtodo:iteritems()

Alias:items()

diccionario={'color':'rosa','marca':'Zara','talle':'U'}
forclave,valorindiccionario.iteritems():
print"Elvalordelaclave%ses%s"%(clave,valor)

El cdigo descrito anteriormente se muestra en la figura 9.17, lo que realiza es


que con el mtodo tems(), nos muestra los valores que se encuentran en el
diccionario y las claves correspondientes.

Figura 9.17 Cdigo fuente del programa mtodo items.

15
Salida:

Elvalordelaclavecoloresrosa
ElvalordelaclavemarcaesZara
ElvalordelaclavetalleesU

Los resultados de la ejecucin del programa se muestran en la figura 9.18,


donde nos manda a imprimir cada clave que se encuentra contenido en el
diccionario y su respectivo valor.

Figura 9.18 Resultado del programa mtodo items.

9.3.4. Obtener las claves de un diccionario


Mtodo:keys()

>>>diccionario={'color':'rosa','marca':'Zara','talle':'U'}
>>>claves=diccionario.keys()
>>>claves['color','marca','talle']

En la figura 9.19 se muestra el cdigo del mtodo keys(), en el cual se crea una
variable y su valor tendr que ser el diccionario creado anteriormente, junto con
el mtodo, y al mandar a imprimir esta nueva variable nos muestra las claves
del diccionario.

16
Figura 9.19 Cdigo del programa mtodo keys.

Los resultados se muestran en la figura 9.20, donde se manda a imprimir las


claves del diccionario, sin valores.

Figura 9.20 Resultado del programa mtodo keys.

9.3.5. Obtener los valores de un diccionario


Mtodo:values()

>>>diccionario={'color':'rosa','marca':'Zara','talle':'U'}
>>>valores=diccionario.values()
>>>valores['rosa','Zara','U']

En la figura 9.21 se muestra el cdigo descrito anteriormente donde se utiliza el


mtodo values, este tiene como objetivo seleccionar los valores de las claves, y
utilizando un print para mandar a imprimir, la nueva variable nos muestra los
valores de las claves.

17
Figura 9.21 Cdigo del programa mtodo values.

Al ejecutar el programa los resultados lo encontramos en la figura 9.22 donde


se observan los valores que contiene cada clave del diccionario.

Figura 9.22 Resultado del programa mtodo values.

9.3.6. Obtener la cantidad de elementos de un diccionario

Para contar los elementos de un diccionario, al igual que con las listas y tuplas,
se utiliza la funcin integrada len().

>>>diccionario={'color':'rosa','marca':'Zara','talle':'U'}
>>>len(diccionario)

Para agregar el cdigo anterior se muestra en la figura 9.23 donde utiliza el


mtodo len, el cual realiza el conteo de los elementos que se encuentran
dentro del diccionario.

Figura 9.23 Cdigo fuente del programa mtodo len.

Al ejecutar el programa se observa el resultado en la figura 9.24, mostrando el


total de elementos del diccionario, en la figura 9.23 se observan que existe tres
claves con sus respectivos valores, y ese es el total.

18
Figura 9.24 Cdigo fuente del programa mtodo len.

Segunda parte: Programa complemento

Transcriba este pequeo programa. Y responda las preguntas que se


indican al interior del programa

#Definiendoundiccionario.

diccionario={"redes_sociales":
['Twiter','facebook','Link'],3:'Tres','hola':'Mundo'}
#esteesellugardondevamosaponerlasinstrucciones
#
#Describequetiposdedatosencuentrasenestediccionario?
#Quinstruccionutilariasparaborrareldato'facebook'?

printdiccionario.has_key("hola")
printdiccionario.items()
printdiccionario.keys()
printdiccionario.values()
printdiccionario.pop(3)#eliminardeldiccionarioeltercerelemento

printdiccionario.values()#Quediferenciaencuentraconlosvalores
#anteriores

#Quinstruccinutilizarasparaborrartodoeldiccionario.?
#Quinstruccinutilizarasparacopiartodoloselementosdeun
diccionario?

En la figura 9.25 se muestra el cdigo del programa mtodos, el cual utiliza el


mtodo copy para copiar los elementos del diccionario, tambin el tems para
mostrar los datos, se muestra tambin el cdigo requerido para eliminar un
valor de una clave en este caso fue el valor de facebook, utilizando la
sentencia del y especificando donde se encuentra el valor, al igual para

19
eliminar un diccionario se utiliza la sentencia del y el nombre del diccionario,
esto hace la eliminacin total del diccionario.

Figura 9.25 Cdigo fuente del programa Mtodos.

En la figura 9.26 se observan los resultados de la ejecucin del programa,


donde se aprecian las modificaciones realizadas, en la primera impresin, se
muestra True esto es que lo que se mand a imprimir existe en el diccionario,
tambin se muestra el copiado de elementos, as tambin como la eliminacin
del valor facebook, y por ultimo un error al mandar a imprimir el diccionario
cuando antes de ello fue eliminado, entonces nos aparece que no est definido.

Figura 9.26 Resultado del programa Mtodos.

20
Conclusin

Al haber realizado la prctica se comprendi la declaracin de un diccionario


que es mediante un parmetro de clave-valor, donde la clave es nica y no se
puede repetir. Tambin los diferentes mtodos que se utilizaron para manipular
un diccionario como el mtodo copy el cual copia los elementos de un
diccionario a una nueva variable, el mtodo len el cual nos da el total de
elementos que se encuentran en un diccionario, el mtodo clear que tiene la
funcin de limpiar los elementos, a diferencia de la sentencia del que elimina
por completo a un diccionario.

21
Bibliografa

Fernndez A. (2012). Python 3 al descubierto. Madrid: RC-Libro.

Van G. (2011). Diccionarios en Python: Propiedades, Operaciones, Metodos y


ms. Marzo 13,2017, de Blogger Sitio web:
http://www.pythondiario.com/2016/12/diccionarios-en-python-propiedades.html

22

Potrebbero piacerti anche