Tutorial de Python - Tipo de datos-Diccionario

Jinku Hu 30 enero 2023
  1. Crear un diccionario de Python
  2. get() Método para acceder a los elementos del diccionario Python
  3. Elementos de actualización del diccionario de Python
  4. Diccionario Python Borrar elementos
  5. Métodos aplicables al diccionario Python
  6. Otras operaciones de diccionario
  7. Iterar a través de un diccionario
  8. Funciones incorporadas con el diccionario
Tutorial de Python - Tipo de datos-Diccionario

En esta sección, aprenderás el diccionario en Python. Aprenderás a crear un diccionario y a añadir y eliminar elementos de un diccionario.

El diccionario es un tipo de datos nativo de Python cuyos datos/valores son pares clave/valor. Un diccionario contiene elementos no ordenados. Un dato o valor del diccionario puede ser recuperado si se conoce la clave.

Crear un diccionario de Python

Se puede crear un diccionario utilizando llaves {} con cada elemento que sea un par que contenga clave y valor.

Las claves del diccionario de Python deben ser de tipo de datos inmutables, y los valores pueden ser de cualquier tipo.

Considere el ejemplo siguiente:

>>> x = {1:'blue', 'key':'pink'}
>>> print(type(x))
<class 'dict'>
>>> print('x[1] = ', x[1])      #using key to retrive value
x[1] =  blue
>>> print("x['key'] =", x['key']) #using key to retrive value
x['key'] = pink

Un diccionario también puede ser inicializado usando el método dict().

>>> dict({1: 'Blue', 2: 'Pink'})
{1: 'Blue', 2: 'Pink'}

get() Método para acceder a los elementos del diccionario Python

Se puede acceder a los valores de un diccionario mediante teclas. Las claves pueden ser usadas tanto con el operador de acceso al índice como se ha hecho anteriormente o con el método get().

Si la clave no se encuentra cuando se usa el método get(), se devolverá None en lugar de un error.

>>> d = dict({1: 'Blue', 2: 'Pink'})
>>> print(d[1])
Blue
>>> print(d.get(1))
Blue
>>> print(d[3])
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    d[3]
KeyError: 3
>>> print(d.get(3))
None

Elementos de actualización del diccionario de Python

El diccionario es mutable, por lo que puede actualizar, añadir y eliminar elementos de un diccionario. Los elementos de un diccionario pueden actualizarse mediante el operador de asignación.

Cuando se actualizan elementos con una clave que no existe en el diccionario, se creará un nuevo par clave-valor, de lo contrario, se actualizará el valor correspondiente.

>>> d = dict({1: 'Blue', 2: 'Pink'})
>>> d[1] = 'Yellow'
>>> print(d)
{1: 'Yellow', 2: 'Pink'}
>>> d[3] = 'Black'
>>> print(d)
{1: 'Yellow', 2: 'Pink', 3: 'Black'}

Diccionario Python Borrar elementos

Las siguientes son algunas formas de eliminar elementos del diccionario:

  1. Método pop(): Eliminará y devolverá el valor de la clave correspondiente.
  2. popitem() método: Eliminará y devolverá un (clave, valor) del diccionario.
  3. clear() método: Borrará todos los elementos del diccionario pero no el diccionario.
  4. del keyword: Puede eliminar un método en particular o todo el diccionario.

Considere el ejemplo siguiente:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(d.pop(2))
Pink
>>> print(d)
{1: 'Blue', 3: 'Yellow', 4: 'Red'}
>>> print(d.popitem())
(4, 'Red')
>>> print(d)
{1: 'Blue', 3: 'Yellow'}
>>> del d[3]
>>> print(d)
{1: 'Blue'}
>>> d.clear()
>>> print(d)
{}
>>> del d
>>> print(d)
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    print(d)
NameError: name 'd' is not defined

Métodos aplicables al diccionario Python

Considere la siguiente tabla:

Método Descripción
clear borrar todos los elementos del diccionario
copy() copiar un diccionario
fromkeys(seq[,v]) devolver un diccionario con elementos seq como claves y los valores serán iguales a v
get(key[,d]) obtener el valor de la clave y si no hay ninguna clave, se devolverá d.
items() devuelve las posiciones del diccionario como (clave, valor)
keys() devolver las claves de un diccionario
pop(key[,d]) eliminar un elemento correspondiente a la key. Si la clave no existe, se devolverá el valor correspondiente a d. Si tanto d como key no existen, se producirá un error.
popitem() Devolverá y eliminará tanto la clave como el valor del diccionario.
setdefault(key[,d]) devolver el valor de la llave. Si la clave no se encuentra, se creará una nueva clave con el valor d y se devolverá d.
update([other]) actualizar el diccionario con claves y valores como other.
values() devolver los valores de un diccionario

Otras operaciones de diccionario

Chequeo de Membresía en el Diccionario

La palabra clave in comprueba si un elemento es miembro del diccionario o no.

Nota
Las claves de un diccionario se utilizan en la comprobación de la pertenencia, pero no los valores.
>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(2 in d)
True
>>> print(5 in d)
False

Iterar a través de un diccionario

Puedes iterar a través de un diccionario usando el bucle for:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> for i in d:
		print(i)
1
2
3
4

Funciones incorporadas con el diccionario

Las siguientes son algunas de las funciones incorporadas que se pueden utilizar con los diccionarios para realizar diferentes tareas:

Funciones Descripción
all() devuelve True cuando todas las claves del diccionario son True. También devuelve True cuando el diccionario está vacío.
any() devuelve True cuando cualquiera de las claves del diccionario es True. Devuelve False cuando el diccionario está vacío.
cmp() comparar dos diccionarios
len() devuelve el número de elementos de un diccionario o la longitud del mismo.
sorted() devuelve una lista ordenada de las teclas de un diccionario.

Considere el siguiente código:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(len(d))
4
>>> print(sorted(d))
[1, 2, 3, 4]
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook