Apuntes_Python/02_conceptos/03_dictionaries/diccionarios.py
2022-12-24 22:41:20 -03:00

90 lines
2.1 KiB
Python
Executable File

"""
Los Diccionarios son un tipo de dato para almacernar colecciones de datos
(collection data types: List, Tuple, Set, Dictionary)
Diccionario: Par Llave-Valor, desordenada, mutable.
"""
# Creación diccionario vacío
mi_dicc = {}
# diccionario con pares key-value
mi_dicc = {'nombre': 'Clarence', 'edad': 31, 'ciudad': 'Lo Zerafín'}
# funcion dict()
mi_dicc = dict(nombre='Clarence', edad=31, ciudad='Lo Zerafín')
# acceder a valor
valor = mi_dicc['nombre']
# Clarence
# agregar par clave valor
mi_dicc['mail'] = "clarence@dolares.up"
# modficiar valor
mi_dicc['mail'] = 'otro@mail.ip'
# borrar item
del mi_dicc['ciudad']
# extraer o eliminar con pop('llave')
mi_dicc.pop('edad')
# popitem(), elimina el último item ordenado
mi_dicc.popitem()
mi_dicc = dict(nombre='Clarence', edad=31, ciudad='Lo Zerafín')
# verifcar si existe una llave
if 'nombre' in mi_dicc:
valor = mi_dicc['nombre']
# verifcar con try-catch
try:
msg = mi_dicc['fecha nacimiento']
except KeyError:
msg = KeyError
finally:
print(msg)
# Obtener item con get('llave')
mi_dicc.get('edades')
# retorna None si existe
# iterar diccionario, values()
for valor in mi_dicc.values():
pass
# iterar diccionario, items()
for llave, valor in mi_dicc.items():
pass
# esta asignación hace referencia al mismo punto en memoria
dicc_copia = mi_dicc
# cualquier cambio en dicc_copia modfica al mi_dicc.
# copiar diccionario copy()
dicc_copia = mi_dicc.copy()
# copiar diccionario dict(diccionario)
dicc_copia = dict(mi_dicc)
# fusionar diccionarios
mi_dicc = dict(nombre='Clarence', edad=31, mail='mi@mail')
mi_dicc2 = dict(nombre='Estanislao', edad=30, ciudad='Pto. Natales')
mi_dicc.update(mi_dicc2)
# {'nombre': 'Estanislao', 'edad': 30, 'mail': 'mi@mail', 'ciudad': 'Pto. Natales'}
# tipos de datos de llaves
# numeros, strings, tuplas de elementos inmutables...
mi_dicc = {3: 9, 7:32, 21:3}
mi_dicc[3]
# 9
mi_dicc = {(2, 6): 8}
# las listas son mutables, no pueden usarse como llaves
# comprensión de diccionario
cuadrados = {i: i*i for i in range(4)}
# {0: 0, 1: 1, 2: 4, 3: 9}