|
| 1 | +# -*- coding: utf-8 -*- |
| 2 | +""" |
| 3 | +@author: guardati |
| 4 | +Ejemplo 3_4 |
| 5 | +Recorrido de los elementos de un diccionario. |
| 6 | +Métodos: keys(), values(), items(). |
| 7 | +Diccionarios y listas. |
| 8 | +""" |
| 9 | + |
| 10 | +num_meses = {'ene': 1, 'feb': 2, 'mar': 3, 'abr': 4, 'may': 5, 'jun': 6} |
| 11 | +menu = {'helado': 25, 'tarta': 43, 'galleta': 12, 'merengue': 18} |
| 12 | + |
| 13 | +# Recorrido de diccionarios usando el ciclo for. |
| 14 | +for mes in num_meses: |
| 15 | + print(mes, ' ', end = '') |
| 16 | +suma = 0 |
| 17 | +for postre in menu: |
| 18 | + suma += menu[postre] |
| 19 | +print('\nSuma de los precios de los postres: $', suma) |
| 20 | + |
| 21 | +# Métodos: keys(), values(), items(). |
| 22 | +claves = menu.keys() |
| 23 | +print('\nTipo de keys():', type(claves)) |
| 24 | +print('Claves 1-:', claves) |
| 25 | +menu['gelatina'] = 24 # Agrega un ítem al diccionario. |
| 26 | +print('Claves 2-:', claves) # Modificado por la inserción de arriba. |
| 27 | + |
| 28 | +valores = menu.values() |
| 29 | +print('\nTipo de values():', type(valores)) |
| 30 | +print('Valores 1-', valores) |
| 31 | +menu['galleta'] = 16 # Modifica el valor. |
| 32 | +print('Valores 2-', valores) # Modificado por la actualización de arriba. |
| 33 | + |
| 34 | +items = num_meses.items() |
| 35 | +print('\nTipo de items():', type(items)) |
| 36 | +print('Items 1-', items) |
| 37 | +del num_meses['mar'] # Borra el ítem. |
| 38 | +print('Items 2-', items) # Modificado por la eliminación de arriba. |
| 39 | + |
| 40 | +# Regresa el total de elementos de la vista. |
| 41 | +print('\nTotal de claves:', len(claves)) |
| 42 | +print('Total de ítems:', len(items)) |
| 43 | + |
| 44 | +# Ordena los elementos de la vista de acuerdo con la clave. |
| 45 | +menu_ordenado = sorted(menu.items()) # Genera lista de tuplas. |
| 46 | +print('\nMenú ordenado:', menu_ordenado) |
| 47 | +# Otra manera de ordenar, usando el constructor dict. |
| 48 | +meses_ordenados = dict(sorted(num_meses.items())) # Genera diccionario. |
| 49 | +print('Meses ordenados:', meses_ordenados) |
| 50 | + |
| 51 | +# Uso del operador de membresía en las vistas. |
| 52 | +if 'galleta' in claves: # Valor posible de clave. |
| 53 | + print('\nSí hay galletas.') |
| 54 | +else: |
| 55 | + print('\nNo hay galletas.') |
| 56 | +if ('alfajor', 31) in items: # Valor posible de ítem. |
| 57 | + print('Sí hay alfajores a $31.') |
| 58 | +else: |
| 59 | + print('No hay alfajores a $31.') |
| 60 | +if ('gelatina', 31) in items: # Valor posible de ítem. |
| 61 | + print('Sí hay gelatinas a $31.') |
| 62 | +else: |
| 63 | + print('No hay gelatinas a $31.') |
| 64 | + |
| 65 | +# Iteración usando clave y valor de cada ítem. |
| 66 | +print() |
| 67 | +for mes, num in items: |
| 68 | + print(f'El mes {mes} es el {num} del año.') |
| 69 | +suma_precios = 0 |
| 70 | +for precio in valores: |
| 71 | + suma_precios += precio |
| 72 | +print('\nSuma de los precios de los postres = $', suma_precios) |
| 73 | + |
| 74 | +# Constructor list() aplicado al diccionario. |
| 75 | +lista_menu = list(menu) |
| 76 | +print('\nLista generada con el diccionario:',lista_menu) |
| 77 | + |
| 78 | +# Construcción de listas a partir de las vistas de diccionarios. |
| 79 | +lista_claves = list(claves) # Genera lista de cadenas. |
| 80 | +print('\nLista de claves:', lista_claves) |
| 81 | +lista_items = list(items) # Genera lista de tuplas. |
| 82 | +print('Lista de ítems:', lista_items) |
| 83 | + |
| 84 | +# Se obtienen listas ordenadas de menor a mayor. |
| 85 | +claves_ord = sorted(lista_claves) |
| 86 | +print('\nLista de claves ordenadas:', claves_ord) |
| 87 | +valores_ord = sorted(valores) |
| 88 | +print('Lista de valores ordenados:', valores_ord) |
| 89 | +items_ord = sorted(lista_items) |
| 90 | +print('Lista de ítems ordenados:', items_ord) |
| 91 | + |
| 92 | + |
0 commit comments