Diccionarios

Un diccionario es una estructura de datos en Python que permite almacenar informaciรณn de manera ordenada y eficiente. A diferencia de las listas, que se indexan con nรบmeros enteros, los diccionarios se indexan con claves (key), que pueden ser de cualquier tipo inmutable, como cadenas, nรบmeros y tuplas.

Algunas propiedades de los diccionario en Python son las siguientes:

  • Son dinรกmicos, pueden crecer o decrecer, se pueden aรฑadir o eliminar elementos.

  • Son indexados, los elementos del diccionario son accesibles a travรฉs del key.

  • Y son anidados, un diccionario puede contener a otro diccionario en su campo value.

Crear diccionarios

En Python, existen varias formas de crear un diccionario, las cuales se detallan a continuaciรณn:

d1 = {
  "Nombre": "Sara",
  "Edad": 27,
  "Documento": 1003882
}
print(d1)
#{'Nombre': 'Sara', 'Edad': 27, 'Documento': 1003882}

Otra forma equivalente de crear un diccionario en Python es usando dict() e introduciendo los pares key: value entre parรฉntesis.

d2 = dict([
      ('Nombre', 'Sara'),
      ('Edad', 27),
      ('Documento', 1003882),
])
print(d2)
#{'Nombre': 'Sara', 'Edad': '27', 'Documento': '1003882'}

Tambiรฉn es posible usar el constructor dict() para crear un diccionario.

d3 = dict(Nombre='Sara',
          Edad=27,
          Documento=1003882)
print(d3)
#{'Nombre': 'Sara', 'Edad': 27, 'Documento': 1003882}

Acceder al diccionario

Para acceder a un valor en un diccionario, puedes usar su clave dentro de corchetes []. Por ejemplo, si tienes un diccionario d con una clave 'nombre', puedes acceder a su valor de la siguiente manera:

pythonCopy coded = {'nombre': 'Juan', 'edad': 30}
print(d['nombre'])  # imprime 'Juan'

Para cambiar el valor de una clave existente en un diccionario, simplemente asigna un nuevo valor a esa clave. Por ejemplo:

d = {'nombre': 'Juan', 'edad': 30}
d['edad'] = 31  # cambia el valor de la clave 'edad'
print(d)  # imprime {'nombre': 'Juan', 'edad': 31}

En el caso de que no exista dicha key, python agregara automaticamente la key al diccionario y le asignara el valor especificado.

En el caso de que desees acceder a las keys y no a el valor de lass keys tienes acceder a las keys utilizando el metodo keys() y convertirlas en una lista para luego poder acceder a ellas mediante un indice.

print(list(d.keys())[0])    #Imprime 'nombre'

Iterar diccionarios

Los diccionarios se pueden iterar de manera muy similar a las listas u otras estructuras de datos. Para imprimir los key.

# Imprime los key del diccionario
for x in d1:
    print(x)
#Nombre
#Edad
#Documento
#Direccion

Se puede imprimir tambiรฉn solo el value.

# Impre los value del diccionario
for x in d1:
    print(d1[x])
#Laura
#27
#1003882
#Calle 123

O si queremos imprimir el key y el value a la vez.

# Imprime los key y value del diccionario
for x, y in d1.items():
    print(x, y)
#Nombre Laura
#Edad 27
#Documento 1003882
#Direccion Calle 123

Metodos

Claves (keys)

El mรฉtodo keys() devuelve una vista de todas las claves del diccionario.

pythonCopy coded = {"a": 1, "b": 2, "c": 3}
print(d.keys())  # dict_keys(['a', 'b', 'c'])

Valores (values)

El mรฉtodo values() devuelve una vista de todos los valores del diccionario.

d = {"a": 1, "b": 2, "c": 3}
print(d.values())  # dict_values([1, 2, 3])

รtems (items)

El mรฉtodo items() devuelve una vista de tuplas (clave, valor) para cada par clave-valor del diccionario.

d = {"a": 1, "b": 2, "c": 3}
print(d.items())  # dict_items([('a', 1), ('b', 2), ('c', 3)])

Acceder a un valor (get)

El mรฉtodo get() devuelve el valor correspondiente a una clave. Si la clave no existe, devuelve un valor predeterminado.

d = {"a": 1, "b": 2, "c": 3}
print(d.get("a"))  # 1
print(d.get("x", 0))  # 0

Eliminar un elemento (pop)

El mรฉtodo pop() elimina y devuelve el valor correspondiente a una clave. Si la clave no existe, lanza una excepciรณn.

d = {"a": 1, "b": 2, "c": 3}
print(d.pop("b"))  # 2

Agregar o actualizar un elemento (update)

El mรฉtodo update() agrega o actualiza elementos de un diccionario con elementos de otro diccionario.

d1 = {"a": 1, "b": 2}
d2 = {"c": 3, "d": 4}
d1.update(d2)
print(d1)  # {'a': 1, 'b': 2, 'c': 3, 'd': 4}

Last updated