Diccionarios

Introducción a Python para desarrolladores

Jasmin Ludolf

Senior Data Science Content Developer

Lista de ingredientes

ingredients = ["pasta", "tomatoes", "garlic", "basil", "olive oil", "salt"]

# Ingredient quantities (in grams) quantities = [500, 400, 15, 20, 30, 5]
Introducción a Python para desarrolladores

Diccionario

  • Diccionario = pares clave-valor

Diccionario anotado con la palabra (clave) y la definición (valor)

1 https://unsplash.com/@sandym10
Introducción a Python para desarrolladores

¿Por qué usar diccionarios?

  • username
  • email
  • preferences

 

  • ip_address
  • location

$$

  • Escalador de recetas: vincula ingredientes y cantidades

Información de usuario

Red informática

1 User image by Bilobaba Vladimir, Aviavlad; https://unsplash.com/@jjying
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = 
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = {
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = {"pasta"
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = {"pasta":
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = {"pasta": 500
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = {"pasta": 500,
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = {"pasta": 500,
          "tomatoes": 400,
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = {"pasta": 500,
          "tomatoes": 400, 
          "garlic": 15,
          "basil": 20, 
          "olive oil": 30,
          "salt": 5
Introducción a Python para desarrolladores

Crear un diccionario

# Creating a dictionary
recipe = {"pasta": 500,
          "tomatoes": 400, 
          "garlic": 15,
          "basil": 20, 
          "olive oil": 30,
          "salt": 5}
Introducción a Python para desarrolladores

Acceder a un valor por clave

  • Los diccionarios están ordenados

    • Permiten acceder a valores por subconjunto con la clave
  • ¿Cuánta pasta necesitamos?

# Find the ingredient's quantity
print(recipe["pasta"])
500
Introducción a Python para desarrolladores

Acceder a todos los valores

# Get all values from a dictionary
print(recipe.values())
dict_values([500, 400, 15, 20, 30, 5])
Introducción a Python para desarrolladores

Acceder a todas las claves

# Retrieve all keys in a dictionary
print(recipe.keys())
dict_keys(['pasta', 'tomatoes', 'garlic', 'basil', 'olive oil', 'salt'])
Introducción a Python para desarrolladores

Ver todo el diccionario

# Print the dictionary
print(recipe)
{'pasta': 500, 'tomatoes': 400, 'garlic': 15, 'basil': 20, 'olive oil': 30,
'salt': 5}
# Get all items (key-value pairs)
print(recipe.items())
dict_items([('pasta', 500), ('tomatoes', 400), ('garlic', 15), ('basil', 20), 
('olive oil', 30), ('salt', 5)])
Introducción a Python para desarrolladores

Añadir un par clave-valor

# Add a new key-value pair
recipe["parmesan"] = 50
print(recipe)
{'pasta': 500, 'tomatoes': 400, 'garlic': 15, 'basil': 20, 'olive oil': 30,
'salt': 5, 'parmesan': 50}
Introducción a Python para desarrolladores

Actualizar un valor

print(recipe)
{'pasta': 500, 'tomatoes': 400, 'garlic': 15, 'basil': 20, 'olive oil': 30,
'salt': 5, 'parmesan': 50}
# Updating a value associated with an existing key
recipe["pasta"] = 1000
print(recipe)
{'pasta': 1000, 'tomatoes': 400, 'garlic': 15, 'basil': 20, 'olive oil': 30,
'salt': 5, 'parmesan': 50}
Introducción a Python para desarrolladores

Claves duplicadas

# Creating a dictionary with a duplicate key
recipe = {"pasta": 500, "garlic": 5, 
          "garlic": 15, "basil": 20, 
          "olive oil": 30, "salt": 5}

# Print the duplicate key's value print(recipe["garlic"])
15
Introducción a Python para desarrolladores

¡Vamos a practicar!

Introducción a Python para desarrolladores

Preparing Video For Download...