Logo Studenta

diccionarios

¡Estudia con miles de materiales!

Vista previa del material en texto

In [1]: #Un diccionario define una relación uno a uno entre claves y valor
es.
#Los diccionarios en Python son:
# • heterogéneos: pueden contener elementos de distintos tipos
# • mutables: sus elementos pueden modificarse
# • sin orden: los elementos de un diccionario no tienen orden.
dicc = {
"clave1":234,
"clave2":True,
"clave3":"Valor 1",
"clave4":[1,2,3,4]
}
print (dicc)
type (dicc)
In [2]: #Se accede a los valores del diccionario usando su clave
print (dicc['clave1'])
print (dicc['clave2'])
print (dicc['clave3'])
print (dicc['clave4'])
In [3]: #Diccionario vacío
dicc_vacio = dict()
print (dicc_vacio)
type (dicc_vacio)
In [4]: #Diccionario vacío
dicc_vacio = {}
print (dicc_vacio)
type (dicc_vacio)
{'clave1': 234, 'clave2': True, 'clave3': 'Valor 1', 'clave4': [1, 
2, 3, 4]}
Out[1]: dict
234
True
Valor 1
[1, 2, 3, 4]
{}
Out[3]: dict
{}
Out[4]: dict
diccionarios about:srcdoc
1 de 6 21/8/21 12:09
In [5]: #Se puede cambiar un elemento del diccionario accediendo por su cl
ave
print (dicc)
dicc["clave2"] = "nuevo"
print (dicc)
In [6]: #Longitud de un diccionario
len(dicc)
In [7]: #Operador in -- opera sobre las claves
"clave2" in dicc
In [8]: #Operador in -- opera sobre las claves
"nuevo" in dicc
In [9]: #Operador not in -- opera sobre las claves
"nuevo" not in dicc
In [10]: #Devuelve una lista de tuplas, cada tupla se compone de dos elemen
tos: clave y valor.
versiones = dict(python=2.7, siges=2.13, fact=5.1)
versiones.items()
In [11]: #Se puede iterar sobre los items del diccionario
for clave, valor in versiones.items():
print (clave, valor)
In [12]: #Devuelve la lista de claves
versiones.keys()
{'clave1': 234, 'clave2': True, 'clave3': 'Valor 1', 'clave4': [1, 
2, 3, 4]}
{'clave1': 234, 'clave2': 'nuevo', 'clave3': 'Valor 1', 'clave4': 
[1, 2, 3, 4]}
Out[6]: 4
Out[7]: True
Out[8]: False
Out[9]: True
Out[10]: dict_items([('python', 2.7), ('siges', 2.13), ('fact', 5.1)])
python 2.7
siges 2.13
fact 5.1
Out[12]: dict_keys(['python', 'siges', 'fact'])
diccionarios about:srcdoc
2 de 6 21/8/21 12:09
In [13]: #Se puede iterar sobre las claves del diccionario
for clave in versiones.keys():
print (clave)
In [14]: #Se puede iterar sobre los valores del diccionario
for valor in versiones.values():
print (valor)
In [15]: #Generar una copia exacta de un diccionario
versiones = dict(python=2.7, siges=2.13, fact=5.1)
versiones2 = versiones.copy()
print (versiones)
print (versiones2)
print (versiones == versiones2)
In [16]: #Eliminar todos los elementos de un diccionario
versiones.clear()
print (versiones)
In [17]: #Crear un diccionario con valores vacíos a partir de una secuencia 
de claves
secuencia = ('python', 'siges', 'fact')
versiones = dict.fromkeys(secuencia)
print ("Nuevo diccionario: %s" % str(versiones))
In [18]: #Crear un diccionario con un valor determinado a partir de una sec
uencia de claves
versiones = dict.fromkeys(['a', 'b', 'c'], 1)
print ("Nuevo diccionario: %s" % str(versiones))
In [19]: #El método get() devuelve el valor de un diccionario según su clav
e
versiones = dict(python=2.7, siges=2.13, fact=5.1)
versiones.get('siges')
python
siges
fact
2.7
2.13
5.1
{'python': 2.7, 'siges': 2.13, 'fact': 5.1}
{'python': 2.7, 'siges': 2.13, 'fact': 5.1}
True
{}
Nuevo diccionario: {'python': None, 'siges': None, 'fact': None}
Nuevo diccionario: {'a': 1, 'b': 1, 'c': 1}
Out[19]: 2.13
diccionarios about:srcdoc
3 de 6 21/8/21 12:09
In [20]: #El método pop obtiene un elemento del diccionario, quitándolo del 
mismo.
versiones = dict(python=2.7, siges=2.13, fact=5.1)
print (versiones.pop('python'))
print (versiones)
In [21]: #El método popitem() obtiene el último par clave y valor del dicci
onario, quitándolo del mismo.
versiones = dict(python=2.7, siges=2.13, fact=5.1)
print (versiones.popitem())
print (versiones)
In [22]: #El método popitem() da error si el diccionario está vacío
versiones = dict(python=2.7, siges=2.13, fact=5.1)
print ("VERSIONES =", versiones)
print (versiones.popitem())
print ("VERSIONES =", versiones)
print (versiones.popitem())
print ("VERSIONES =", versiones)
print (versiones.popitem())
print ("VERSIONES =", versiones)
print (versiones.popitem())
2.7
{'siges': 2.13, 'fact': 5.1}
('fact', 5.1)
{'python': 2.7, 'siges': 2.13}
VERSIONES = {'python': 2.7, 'siges': 2.13, 'fact': 5.1}
('fact', 5.1)
VERSIONES = {'python': 2.7, 'siges': 2.13}
('siges', 2.13)
VERSIONES = {'python': 2.7}
('python', 2.7)
VERSIONES = {}
------------------------------------------------------------------
---------
KeyError Traceback (most recent c
all last)
<ipython-input-22-d827430ca7d6> in <module>
 8 print (versiones.popitem())
 9 print ("VERSIONES =", versiones)
---> 10 print (versiones.popitem())
KeyError: 'popitem(): dictionary is empty'
diccionarios about:srcdoc
4 de 6 21/8/21 12:09
In [23]: #El método setdefault() actúa de 2 maneras:
# 1) Si la clave existe, es similar a get(clave) donde retorna el 
valor de la clave.
# 2) Si la clave no existe, la agrega al diccionario con el valor 
default indicado y retorna dicho valor
# El formato es setdefault(key, [, default_value])
versiones = dict(python=2.7, siges=2.13, fact=5.1)
print (versiones.setdefault('python'))
print (versiones)
print (versiones.setdefault('python2', 3.8))
print (versiones)
print (versiones.setdefault('python3'))
print (versiones) # Notar que en este caso a 'python3' le sete
a un valor None 
In [24]: #El método update() actualiza un diccionario agregando los pares d
e clave y valores en un 
#segundo diccionario.
versiones1 = dict(python=2.7, siges=2.13, fact=5.1)
versiones2 = dict(python2=3.8)
versiones1.update(versiones2)
print (versiones1)
In [25]: #Para comparar dos diccionarios
versiones1 = dict(python=2.7, siges=2.13, fact=5.1)
versiones2 = dict(python=2.7, siges=2.13, fact=5.1)
print (versiones1)
print (versiones2)
print (versiones1 == versiones2)
versiones2["python"] = 3.8
print (versiones1)
print (versiones2)
print (versiones1 == versiones2)
2.7
{'python': 2.7, 'siges': 2.13, 'fact': 5.1}
3.8
{'python': 2.7, 'siges': 2.13, 'fact': 5.1, 'python2': 3.8}
None
{'python': 2.7, 'siges': 2.13, 'fact': 5.1, 'python2': 3.8, 'pytho
n3': None}
{'python': 2.7, 'siges': 2.13, 'fact': 5.1, 'python2': 3.8}
{'python': 2.7, 'siges': 2.13, 'fact': 5.1}
{'python': 2.7, 'siges': 2.13, 'fact': 5.1}
True
{'python': 2.7, 'siges': 2.13, 'fact': 5.1}
{'python': 3.8, 'siges': 2.13, 'fact': 5.1}
False
diccionarios about:srcdoc
5 de 6 21/8/21 12:09
In [26]: #La función zip() genera un diccionario relacionando cada elemento 
del primer iterable
#con los valores del segundo iterables, ambos pasados como parámet
ro.
#Ambos deben tener el mismo número de elementos.
dicc = dict(zip('abcd',[1,2,3,4]))
dicc
In [27]: #Convertir varias listas a un diccionario
moneda = ("Bitcoin", "Peso", "Dolar")
codigo = ("BTC", "ARS", "USD")
valores = (1111, 2222, 3333)
print (dict(zip(moneda, codigo)))
In [28]: resultado = zip(moneda, codigo, valores)
print (tuple(resultado))
In [29]: #Eliminar un elemento del diccionario
versiones = dict(python=2.7, siges=2.13, fact=5.1, django=3.0)
del versiones["django"]
print (versiones)
In [ ]: 
In [ ]: 
Out[26]: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
{'Bitcoin': 'BTC', 'Peso': 'ARS', 'Dolar': 'USD'}
(('Bitcoin', 'BTC', 1111), ('Peso', 'ARS', 2222), ('Dolar', 'USD', 
3333))
{'python': 2.7, 'siges': 2.13, 'fact': 5.1}
diccionarios about:srcdoc
6 de 6 21/8/21 12:09

Continuar navegando