{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " \n", " \n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Diccionarios en Python

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

¡Bienvenido! En este cuaderno aprenderás lo relacionado con los diccionarios en el Lenguaje de Programación Python. Al final de este laboratorio, conocerás las operaciones básicas con diccionarios en Python, incluyendo qué son, y las operaciones que puedes hacer con ellos.

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Tabla de Contenido

\n", "
\n", " \n", "

\n", " Tiempo Estimado: 20 min\n", "

\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Diccionarios

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

¿Qué son los diccionarios?

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Un diccionario esta conformado por llaves y valores. Un diccionario puede compararse a una lista. En vez de índices numéricos como los de las listas, los diccionarios tienen llaves. Estas llaves son usadas para acceder a los valores dentro de los diccionarios." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Un ejemplo de Diccionario Dict:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Crear el diccionario\n", "\n", "Dict = {\"key1\": 1, \"key2\": \"2\", \"key3\": [3, 3, 3], \"key4\": (4, 4, 4), ('key5'): 5, (0, 1): 6}\n", "Dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Las llaves pueden ser cadenas:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Acceder a un valor mediante una llave\n", "\n", "Dict[\"key1\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una llave puede ser cualquier tipo de objeto inmutable, pudiendo ser una tupla:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Acceder a un valor mediante una llave\n", "\n", "Dict[(0, 1)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cada llave esta separada de su respectivo valor mediante dos puntos \":\". Las comas separan los elementos y todo el diccionario esta encerrado usando llaves. Un diccionario vacío se representa escribiendo solo dos llaves, de esta forma \"{}\"." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Crear un ejemplo de diccionario\n", "\n", "release_year_dict = {\"Thriller\": \"1982\", \"Back in Black\": \"1980\", \\\n", " \"The Dark Side of the Moon\": \"1973\", \"The Bodyguard\": \"1992\", \\\n", " \"Bat Out of Hell\": \"1977\", \"Their Greatest Hits (1971-1975)\": \"1976\", \\\n", " \"Saturday Night Fever\": \"1977\", \"Rumours\": \"1977\"}\n", "release_year_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Resumiendo, al igual que una lista, un diccionario guarda una secuencia de elementos. Cada uno es representado por una llave y su valor correspondiente. Los diccionarios se crean mediante dos llaves y estas contendrán las llaves y valores separados por una coma. A cada llave solo puede corresponderle un valor, sin embargo, múltiples llaves pueden tener el mismo. Las llaves solo pueden ser cadenas, números o tuplas, pero los valores pueden ser de cualquier tipo." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Es de ayuda visualizar un diccionario como una tabla, como se muestra en la imagen. La primera columna representa las llaves, la segunda los valores." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Llaves

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Los valores se pueden obtener mediante nombres:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Obtener el valor de las llaves\n", "\n", "release_year_dict['Thriller'] " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esto corresponde a: \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "De igual forma The Bodyguard" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Obtener el valor mediante la llave\n", "\n", "release_year_dict['The Bodyguard'] " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora vamos a recuperar las llaves del diccionario mediante el método release_year_dict():" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Obtener todas las llaves del diccionario\n", "\n", "release_year_dict.keys() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se puede obtener los valores mediante el método values():" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Obtener todos los valores del diccionario\n", "\n", "release_year_dict.values() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Podemos agregar una entrada:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Agregar un valor con su llave en el diccionario\n", "\n", "release_year_dict['Graduation'] = '2007'\n", "release_year_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tambien podemos borrar entradas:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Borrar entradas mediante la llave\n", "\n", "del(release_year_dict['Thriller'])\n", "del(release_year_dict['Graduation'])\n", "release_year_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Podemos verificar si existe un elemento en el diccionario: " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Verificar si existe la llave en el diccionario\n", "\n", "'The Bodyguard' in release_year_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Cuestionario sobre Diccionarios

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Necesitarás este diccionario para las siguientes dos preguntas:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'The Bodyguard': '1992', 'Saturday Night Fever': '1977'}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Pregunta - Diccionario de ejemplo\n", "\n", "soundtrack_dic = {\"The Bodyguard\":\"1992\", \"Saturday Night Fever\":\"1977\"}\n", "soundtrack_dic" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "a) En el diccionario soundtrack_dict. ¿Cuáles son las llaves?" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['The Bodyguard', 'Saturday Night Fever'])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "soundtrack_dic.keys()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Haz doble click __aquí__ para ver la solución.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "b) En el diccionario soundtrack_dict. ¿Cuáles son los valores?" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_values(['1992', '1977'])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "soundtrack_dic.values()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Haz doble click __aquí__ para ver la solución.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Necesitarás este diccionario para las siguientes preguntas:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Los discos Back in Black, The Bodyguard y Thriller poseen el siguiente record de ventas en millones, 50, 50 y 65 respectivamente:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "a) Crea un diccionario album_sales_dict donde las llaves sean el nombre del disco y los valores la cantidad de ventas en millones." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "album_sales_dict = {\"Back in Black\": 50, \"The Bodyguard\": 50, \"Thriller\": 65}\n", "album_sales_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Haz doble click __aquí__ para ver la solución.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "b) Usa el diccionario para encontrar las ventas totales de Thriller:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Escribe abajo tu código y presiona Shift+Enter para ejecutarlo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Double-click __here__ for the solution.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "c) Encuentra los nombres de los discos dentro del diccionario mediante el método keys:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Escribe abajo tu código y presiona Shift+Enter para ejecutarlo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Haz doble click __aquí__ para ver la solución.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "d) Encuentra los records de ventas dentro del diccionario mediante el método values:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Escribe abajo tu código y presiona Shift+Enter para ejecutarlo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Haz doble click __aquí__ para ver la solución.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "

¡El último ejercicio!

\n", "

Felicidades, has completado tu primera lección y practica de laboratorio en Python. Sin embargo, hay algo mas que debes saber. La comunidad en Ciencia de Datos te alienta a compartir tu trabajo. La mejor forma de hacerlo es a través de GitHub. Al compartir tus cuadernos en GitHub, además de construir una reputación entre la comunidad de los científicos de datos, también te ayudará en el proceso de encontrar un trabajo. Incluso si este fuera tu primer material de trabajo, nunca es tarde para fomentar buenos hábitos. Por favor lee y analiza este artículo para aprender a compartir tu trabajo.\n", "


" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "

¡Obtén gratis IBM Watson Studio!

\n", "

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Acerca de los Autores:

\n", "

Joseph Santarcangelo es un Científico de Datos en IBM, además posee un doctorado en Ingeniería Eléctrica. Su trabajo de investigación se centra en el uso de Aprendizaje Automático (Machine Learning), Procesamiento de Señales y Visión Artificial para determinar el impacto de los videos en el proceso cognitivo. Joseph trabaja en IBM desde la terminación de su doctorado.

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Otros colaboradores: Mavis Zhou" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Copyright © 2018 IBM Developer Skills Network. This notebook and its source code are released under the terms of the MIT License.

" ] } ], "metadata": { "kernelspec": { "display_name": "Python", "language": "python", "name": "conda-env-python-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.11" } }, "nbformat": 4, "nbformat_minor": 4 }