""" 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}