Saltar al contenido

Cómo usar diccionarios en Python

Los diccionarios en Python son una lista de elementos que están desordenados y se pueden cambiar mediante el uso de métodos integrados. Los diccionarios se utilizan para crear un mapa de claves únicas de valores.

Acerca de los diccionarios en Python

Para crear un diccionario, use {} llaves para construir el diccionario y [] corchetes para indexarlo.

Separe la clave y el valor con dos puntos: y con comas, entre cada par.

Las claves deben estar entre comillas, por ejemplo: “título”: “Cómo usar diccionarios en Python”

Al igual que con las listas, podemos imprimir el diccionario imprimiendo la referencia a él.

Un diccionario asigna un conjunto de objetos (claves) a otro conjunto de objetos (valores) para que pueda crear una lista desordenada de objetos.

Los diccionarios son mutables, lo que significa que se pueden cambiar.

Los valores a los que apuntan las claves pueden ser cualquier valor de Python.

Los diccionarios no están ordenados, por lo que el orden en que se agregan las claves no refleja necesariamente el orden en el que se pueden informar. Debido a esto, puede hacer referencia a un valor por su nombre de clave.

Crea un nuevo diccionario

# Para construir un diccionario puede comenzar con uno vacío.

>>> mydict={}

# Esto creará un diccionario, que inicialmente tiene seis pares clave-valor, donde iphone * es la clave y años los valores

released = {
		"iphone" : 2007,
		"iphone 3G" : 2008,
		"iphone 3GS" : 2009,
		"iphone 4" : 2010,
		"iphone 4S" : 2011,
		"iphone 5" : 2012
	}
print released

>>Output
{'iphone 3G': 2008, 'iphone 4S': 2011, 'iphone 3GS': 2009, '
	iphone': 2007, 'iphone 5': 2012, 'iphone 4': 2010}

Agrega un valor al diccionario

Puede agregar un valor al diccionario en el siguiente ejemplo. Además, seguiremos adelante y cambiaremos el valor para mostrar en qué se diferencian los diccionarios de un conjunto de Python.

#the syntax is: mydict[key] = "value"
released["iphone 5S"] = 2013
print released
>>Output
{'iphone 5S': 2013, 'iphone 3G': 2008, 'iphone 4S': 2011, 'iphone 3GS': 2009,
'iphone': 2007, 'iphone 5': 2012, 'iphone 4': 2010}

Quita una clave y su valor

Puede eliminar un elemento con el operador del

del released["iphone"]
print released
>>output
{'iphone 3G': 2008, 'iphone 4S': 2011, 'iphone 3GS': 2009, 'iphone 5': 2012,
'iphone 4': 2010}

Comprobar la longitud

La función len () da el número de pares en el diccionario. En otras palabras, cuántos elementos hay en el diccionario.

print len(released)

Prueba el diccionario

Verifique si existe una clave en un diccionario dado usando el operador in como este:

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.

>>> my_dict = {'a' : 'one', 'b' : 'two'}
>>> 'a' in my_dict
True
>>> 'b' in my_dict
True
>>> 'c' in my_dict
False

o así en un bucle for

for item in released:
    if "iphone 5" in released:
        print "Key found"
        break
    else:
        print "No keys found"
>>output
Key found

Obtener un valor de una clave especificada

print released.get("iphone 3G", "none")

Imprime todas las claves con un bucle for

print "-" * 10
print "iphone releases so far: "
print "-" * 10
for release in released:
    print release

>>output
----------
iphone releases so far: 
----------
iphone 3G
iphone 4S
iphone 3GS
iphone
iphone 5
iphone 4

Imprimir todas las claves y valores

for key,val in released.items():
    print key, "=>", val

>>output
iphone 3G => 2008
iphone 4S => 2011
iphone 3GS => 2009
iphone => 2007
iphone 5 => 2012
iphone 4 => 2010

Obtenga solo las claves del diccionario

phones = released.keys()
print phones

# o imprímalos así:

print "This dictionary contains these keys: ", " ".join(released)
>>iphone 3G iphone 4S iphone 3GS iphone iphone 5 iphone 4

# o así:

print "This dictionary contains these keys: ", " ", released.keys()
>>['iphone 3G', 'iphone 4S', 'iphone 3GS', 'iphone', 'iphone 5', 'iphone 4']

Imprimir los valores

Se puede hacer referencia a los elementos mediante corchetes, por ejemplo:
impresión publicada[“iphone”]

print "Values:
",
for year in released:
    releases= released[year]
    print releases

>>output:
Values:
2008
2011
2009
2007
2012
2010

Imprimir con pprint

pprint.pprint(released)

Ordenar el diccionario

Además de imprimir, clasifiquemos los datos para tener una salida esperada.

for key, value in sorted(released.items()):
    print key, value
>>output:
('iphone', 2007)
('iphone 3G', 2008)
('iphone 3GS', 2009)
('iphone 4', 2010)
('iphone 4S', 2011)
('iphone 5', 2012)
"""
for phones in sorted(released, key=len):
    print phones, released[phones]

>>output:
iphone 2007
iphone 5 2012
iphone 4 2010
iphone 3G 2008
iphone 4S 2011
iphone 3GS 2009

Contando

Finalmente, mostremos el valor de usar un contador en el diccionario para mostrar el número de elementos.

count = {}
for element in released:
    count[element] = count.get(element, 0) + 1
print count

>>output:
{'iphone 3G': 1, 'iphone 4S': 1, 'iphone 3GS': 1, 'iphone': 1, 
'iphone 5': 1, 'iphone 4': 1}

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.