Contenidos
- Dictionaries
- Demonstration: Dictionary Basics
- Dictionary Operations
- Dictionary Methods
- Demonstration: Dictionary Methods
- Aliasing and Copying with Dictionaries
- Dictionary Accumulation
- Demonstration: Dictionary Accumulation
- Accumulating Results From a Dictionary
- Accumulating the Best Key
- csv Module with Dictionaries
Dictionaries
1 2 3 4 5 6 7 8 |
# Ejemplo básico de un diccionario mi_diccionario = { "nombre": "Juan", "edad": 25, "ciudad": "Madrid" } print(mi_diccionario) |
Demonstration: Dictionary Basics
1 2 3 |
# Acceder a elementos del diccionario print(mi_diccionario["nombre"]) # Salida: Juan print(mi_diccionario.get("edad")) # Salida: 25 |
Dictionary Operations
1 2 3 4 5 |
# Operaciones con diccionarios mi_diccionario["edad"] = 26 # Modificar un valor mi_diccionario["profesión"] = "Ingeniero" # Añadir un nuevo par clave-valor print(mi_diccionario) |
Dictionary Methods
1 2 3 4 |
# Métodos de diccionarios print(mi_diccionario.keys()) # Obtener todas las claves print(mi_diccionario.values()) # Obtener todos los valores print(mi_diccionario.items()) # Obtener todos los pares clave-valor |
Demonstration: Dictionary Methods
1 2 3 |
# Ejemplo de métodos de diccionario for clave, valor in mi_diccionario.items(): print(f"Clave: {clave}, Valor: {valor}") |
Aliasing and Copying with Dictionaries
1 2 3 4 5 6 7 8 9 |
# Alias y copiado de diccionarios alias_diccionario = mi_diccionario # Alias, ambos apuntan al mismo diccionario copia_diccionario = mi_diccionario.copy() # Copia independiente alias_diccionario["edad"] = 30 print(mi_diccionario["edad"]) # Salida: 30, porque alias_diccionario es el mismo que mi_diccionario copia_diccionario["edad"] = 35 print(mi_diccionario["edad"]) # Salida: 30, porque copia_diccionario es independiente |
Dictionary Accumulation
1 2 3 4 5 6 7 8 9 10 11 |
# Acumulación en diccionarios frecuencias = {} texto = "hola mundo hola a todos" for palabra in texto.split(): if palabra in frecuencias: frecuencias[palabra] += 1 else: frecuencias[palabra] = 1 print(frecuencias) |
Demonstration: Dictionary Accumulation
1 2 3 4 5 6 7 8 9 10 11 |
# Ejemplo de acumulación en diccionarios puntuaciones = {"Alice": 50, "Bob": 60, "Catherine": 75} nuevas_puntuaciones = {"Alice": 20, "Bob": 25, "David": 30} for jugador, puntos in nuevas_puntuaciones.items(): if jugador in puntuaciones: puntuaciones[jugador] += puntos else: puntuaciones[jugador] = puntos print(puntuaciones) |
Accumulating Results From a Dictionary
1 2 3 4 5 |
# Acumulación de resultados de un diccionario resultados = {"Alice": [50, 60], "Bob": [60, 70], "Catherine": [75, 85]} suma_resultados = {clave: sum(valores) for clave, valores in resultados.items()} print(suma_resultados) |
Accumulating the Best Key
1 2 3 4 |
# Acumulación de la mejor clave mejores_puntuaciones = {"Alice": 95, "Bob": 85, "Catherine": 90} mejor_jugador = max(mejores_puntuaciones, key=mejores_puntuaciones.get) print(f"El mejor jugador es {mejor_jugador} con una puntuación de {mejores_puntuaciones[mejor_jugador]}") |
csv Module with Dictionaries
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import csv # Lectura de un archivo CSV con diccionarios with open('datos.csv', mode='r', newline='') as file: lector_csv = csv.DictReader(file) for fila in lector_csv: print(fila) # Escritura en un archivo CSV con diccionarios with open('salida.csv', mode='w', newline='') as file: campos = ['nombre', 'edad', 'ciudad'] escritor_csv = csv.DictWriter(file, fieldnames=campos) escritor_csv.writeheader() escritor_csv.writerow({'nombre': 'Juan', 'edad': 25, 'ciudad': 'Madrid'}) escritor_csv.writerow({'nombre': 'Ana', 'edad': 30, 'ciudad': 'Barcelona'}) |