Fundamentos de Programación y Python

1

Fundamentos de Programación con Python para Principiantes

2

Instalación y Uso Básico de Python en Windows y Mac

3

Semántica y Sintaxis en Programación Python

4

Práctica: Te doy la bienvenida a los ejercicios interactivos

5

Manejo de Cadenas y Operaciones Básicas en Python

6

Tipos de Datos en Python: Enteros, Flotantes y Booleanos

7

Dominio de la función `print` en Python: usos y formatos avanzados

8

Operaciones matemáticas avanzadas en Python: módulo, potencia y más

9

Entrada de información y manejo de tipos de datos en Python

Colección y Procesamiento de Datos en Python

10

Manipulación de Listas en Python: Creación, Indexación y Métodos Básicos

11

Copiar listas en Python sin compartir memoria con slicing

12

Manejo de Matrices y Tuplas en Python

13

Matrices en Juegos y Imágenes con Python

14

Diccionarios en Python: Uso y Manipulación de Datos

Control de Flujo en Python

15

Estructuras Condicionales en Programación: Uso de If, Else y Elif

16

Iteración y control de flujo con bucles en Python

17

Iteradores y Generadores en Python: Uso Eficiente de Memoria

18

Listas por comprensión en Python: creación y optimización de listas

Funciones y Manejo de Excepciones en Python

19

Funciones y Parámetros en Python: Crea una Calculadora Básica

20

Funciones Lambda en Python: Uso y Aplicaciones Prácticas

21

Recursividad en Python: Factoriales y Serie de Fibonacci

22

Manejo de Excepciones y Errores en Python

Programación Orientada a Objetos en Python

23

Programación Orientada a Objetos en Python: Clases y Métodos Básicos

24

Gestión de Biblioteca con Programación Orientada a Objetos

25

Herencia y Polimorfismo en Programación Orientada a Objetos

26

Programación Orientada a Objetos: Implementación de Clases y Herencia

27

Polimorfismo en Programación Orientada a Objetos

28

Herencia y Uso de la Función super() en Python

29

Programación Orientada a Objetos: Atributos, Métodos y `super()` en Python

Lectura y escritura de archivos

30

Manipulación de Archivos TXT y CSV en Python

31

Manipulación de archivos CSV con Python: lectura y escritura

32

Manejo de Archivos JSON en Python para Aplicaciones Web y APIs

Biblioteca estándar de Python

33

Uso Eficiente de la Biblioteca Estándar de Python

34

Uso de las librerías OS, Math y Random en Python

35

Análisis de Datos de Ventas con Python y Statistics

36

Desarrollo del juego Batalla Naval en Python

Conceptos avanzados de Python

37

Programación Avanzada en Python: POO, Excepciones y Proyectos

38

Escritura de Código Pytónico y Buenas Prácticas en Python

39

Comentarios y Docstrings: Buenas Prácticas en Programación

40

Tiempo de vida y alcance de variables en Python

41

Anotaciones de Tipo en Python para Código Más Legible

42

Validación de Tipos y Manejo de Excepciones en Python

43

Estructuras de Datos Avanzadas en Python: Collection y Enumeraciones

Decoradores

44

Decoradores en Python: Extiende Funcionalidades de Funciones

45

Uso de Decoradores Anidados y con Parámetros en Python

46

Decoradores en Programación Orientada a Objetos en Python

Métodos y estructura de clases en Python

47

Uso de Métodos Mágicos en Python

48

Sobrecarga de Operadores en Python: Personaliza Comportamiento de Clases

49

Ejecutar scripts Python con `if __name__ == '__main__'`

50

Metaprogramación en Python: Métodos `__new__` y `__init__`

51

Uso de *args y **kwargs en funciones de Python

52

Métodos y Atributos Privados y Protegidos en Python

53

Uso de Property en Python: Getter, Setter y Eliminación de Atributos

54

Métodos estáticos y de clase en Python

Programación concurrente y asíncrona

55

Concurrencia y Paralelismo en Python: Técnicas y Librerías Básicas

56

Concurrencia y Paralelismo en Python: `threading` y `multiprocessing`

57

Asincronismo en Python con AsyncIO y Corrutinas

58

Sincronía y Concurrencia en Python: Teoría y Práctica

Creación de módulos y paquetes

59

Módulos y Paquetes en Python: Reutilización y Organización de Código

60

Uso de Paquetes y Subpaquetes en Python con Visual Studio Code

61

Publicación de Paquetes Python en PyPI

Proyecto final

62

Sistema de Gestión de Reservas en Python Avanzado

63

Sistema de Gestión de Reservas en Python Avanzado

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Python

Curso de Python

Carli Code

Carli Code

Diccionarios en Python: Uso y Manipulación de Datos

14/63
Recursos

Los diccionarios en Python son una estructura que almacenan dos datos, la clave y el valor. Un ejemplo cotidiano es un diccionario físico donde buscamos el significado de una palabra y encontramos la palabra (clave) y su definición (valor). Veamos cómo se utilizan en código.

¿Cómo se crea un diccionario en Python?

Iniciamos creando una variable llamada numbers y especificamos el uso de diccionarios utilizando llaves. Asignamos valores a las claves:

numbers = {1: "one", "2": "two", 3: "three"}
print(numbers)

¿Cómo se accede a los elementos de un diccionario?

Para consultar la información de una clave específica, utilizamos la indexación:

print(numbers["2"])

¿Cómo se eliminan elementos de un diccionario?

Para eliminar un elemento, utilizamos la clave del mismo:

del information["edad"]
print(information)

¿Qué métodos existen para trabajar con diccionarios?

Podemos utilizar métodos propios de los diccionarios, como keys(), values(), e items():

# Obtener las claves
claves = information.keys()
print(claves)

# Obtener los valores
valores = information.values()
print(valores)

# Obtener los pares clave-valor
pares = information.items()
print(pares)

¿Cómo se crea un diccionario de diccionarios?

Podemos crear una agenda de contactos usando diccionarios de diccionarios:

contactos = {
    "Carla": {"apellido": "Florida", "altura": 1.7, "edad": 30},
    "Diego": {"apellido": "Antesana", "altura": 1.75, "edad": 32}
}
print(contactos["Carla"])

Aportes 80

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

# Integrando Usos Reales ```js # Configuración de una aplicación config = { "host": "localhost", "port": 8080, "debug": True } print("Configuración:", config) # Contador de palabras palabras = ["manzana", "banana", "naranja", "manzana", "banana"] contador = {} for palabra in palabras: if palabra in contador: contador[palabra] += 1 else: contador[palabra] = 1 print("Contador de palabras:", contador) # Mapeo de usuarios a datos usuarios = { "user123": {"nombre": "Juan", "edad": 30}, "user456": {"nombre": "Ana", "edad": 25} } print("Datos de usuario user123:", usuarios["user123"]) # Almacenamiento de datos estructurados libro = { "título": "Cien años de soledad", "autor": "Gabriel García Márquez", "año": 1967 } print("Datos del libro:", libro) # Datos en formato JSON import json json_data = json.dumps(libro) print("Datos en JSON:", json_data) ``` ### **Configuración de una Aplicación**: ### Se crea un diccionario para almacenar configuraciones de una aplicación. ### **Contador de Palabras**: ### Se utiliza un diccionario para contar la frecuencia de palabras en una lista. ### **Mapeo de Usuarios a Datos**: ### Se crea un diccionario para mapear identificadores de usuarios a sus datos personales. ### **Almacenamiento de Datos Estructurados**: ### Se almacena información de un libro en un diccionario ### **Formato JSON**: ### Se convierte un diccionario a una cadena JSON utilizando el módulo `json`.
Un diccionario en Python es una estructura de datos que permite almacenar pares clave-valor de manera eficiente. Es similar a una lista, pero en lugar de acceder a los elementos por su índice numérico, se accede a ellos mediante claves únicas. Los diccionarios son muy versátiles y se utilizan ampliamente debido a su capacidad para almacenar y recuperar datos de forma rápida utilizando claves personalizadas en lugar de índices numéricos. ### Características clave de los diccionarios en Python: 1. **Claves únicas:** Cada clave en un diccionario debe ser única. No puede haber dos claves iguales en un mismo diccionario. 2. **Valores asociados:** Cada clave está asociada a un valor específico. Este valor puede ser de cualquier tipo de dato en Python: int, float, str, list, tuple, otro diccionario, etc. 3. **Mutabilidad:** Los diccionarios son mutables, lo que significa que pueden modificarse después de su creación. Puedes agregar, modificar o eliminar elementos según sea necesario. 4. **Sintaxis:** Los diccionarios se definen utilizando llaves `{}` y separando cada par clave-valor por comas. La sintaxis general es `{clave1: valor1, clave2: valor2, ...}`. ### Ejemplo de diccionario en Python: `# Crear un diccionario de persona` `persona = {` ` 'nombre': 'Juan'`, ` 'edad': 30`, ` 'profesion': 'Ingeniero'`, ` 'ubicacion': 'Ciudad de México'` `}` `# Acceder a valores por clave` `print(persona['nombre']) # Imprime 'Juan'` `print(persona['edad']) # Imprime 30` `# Modificar un valor` `persona['edad'] = 31` `# Agregar un nuevo par clave-valor` `persona['email'] = '[email protected]'` `# Eliminar una entrada` `del persona['ubicacion'`] `# Imprimir el diccionario actualizado` `print(persona)` En este ejemplo, `persona` es un diccionario que almacena información sobre una persona utilizando claves como `'nombre'`, `'edad'`, `'profesion'`, etc. Los diccionarios son especialmente útiles cuando se necesita asociar datos relacionados entre sí de manera semántica, permitiendo un acceso eficiente y organizado a través de las claves definidas.
En el minuto 2:18 dice que su altura es un boolean, he visto varios errores de ese tipo a lo largo del curso pero me parecían insignificantes, sin embargo ya son muy constantes, pueden confundir a alguien que aprende en verdad desde cero. Me parece extraño que nadie revise las clases antes de subirlas, o que a pesar de que los revisen y vean los errores lo suban así, ya existía otro curso que no tenia esos errores y lo actualizaron por este.
```js #Diccionarios #Los diccionarios en phyton almacenan dos datos, la clave y el valor #Es como el diccionario por eso se les dice asi #palabra = CLAVE #definición = VALOR numbers = {1:"uno", 2:"dos", 3:"tres"} mi_diccionario = { 'clave1': 'valor1', 'clave2': 'valor2', 'clave3': 'valor3'} #Un diccionario en Python se define usando llaves {} y contiene pares de clave-valor separados por comas. #Las claves deben ser únicas e inmutables (pueden ser números, cadenas o tuplas), mientras que los valores pueden ser de cualquier tipo de datos print(numbers[2]) print(mi_diccionario["clave3"]) information = {"nombreI": "Evaristo", "Apellido": "Gomez", "Altura": 1.78, "Edad": 35} print(information) del information["Edad"] print(information) claves = information.keys() print(claves) #print(type(claves)) values = information.values() print(values) pairs = information.items() print(pairs) estudiante = {'nombreE': 'Varo', 'edad': 20, 'cursos': ['Matemáticas', 'Física', 'Química'], 'promedio': 8.0 } print(estudiante) nombreE = estudiante['nombreE'] print(nombreE) # Salida: Juan edad = estudiante['edad'] print(edad) # Salida: 21 estudiante['edad'] = 22 # cambiando el valor de un diccionario print(estudiante['edad']) # Salida: 22 clavesE = estudiante.keys() print(clavesE) #print(type(clavesE)) valuesE = estudiante.values() print(valuesE) pairsE = estudiante.items() print(pairsE) estudiante['graduado'] = False # de esta forma agrego una nueva clave y valor, clave dentro de los [] y le digo que es igual al valor asignado print(estudiante) # Salida: {'nombre': 'Juan', 'edad': 22, 'cursos': ['Matemáticas', 'Física', 'Química'], 'promedio': 8.5, 'graduado': False} del estudiante['promedio'] print(estudiante) # Salida: {'nombre': 'Juan', 'edad': 22, 'cursos': ['Matemáticas', 'Física', 'Química'], 'graduado': False} graduado = estudiante.pop('graduado') # esta es otra forma de eliminar print(estudiante) # Salida: {'nombre': 'Juan', 'edad': 22, 'cursos': ['Matemáticas', 'Física', 'Química']} contacts = {"Vane": {"Apellido": "Canto", "Altura": 1.60, "Edad": 29}, "Evaristo": {"Apellido": "Gomez", "Altura": 1.80, "Edad": 35}} print(contacts["Vane"]) # dict.keys(): Devuelve una vista de las claves del diccionario. # dict.values(): Devuelve una vista de los valores del diccionario. # dict.items(): Devuelve una vista de los pares clave-valor del diccionario. # dict.get(clave, valor_por_defecto): Devuelve el valor asociado a la clave. Si la clave no existe, devuelve valor_por_defecto. # dict.update(otro_diccionario): Actualiza el diccionario con los pares clave-valor de otro_diccionario. ```#Diccionarios#Los diccionarios en phyton almacenan dos datos, la clave y el valor #Es como el diccionario por eso se les dice asi#palabra = CLAVE#definición = VALOR numbers = {1:"uno", 2:"dos", 3:"tres"} mi\_diccionario = { 'clave1': 'valor1',                   'clave2': 'valor2',                   'clave3': 'valor3'}#Un diccionario en Python se define usando llaves {} y contiene pares de clave-valor separados por comas. #Las claves deben ser únicas e inmutables (pueden ser números, cadenas o tuplas), mientras que los valores pueden ser de cualquier tipo de datos print(numbers\[2])print(mi\_diccionario\["clave3"]) information = {"nombreI": "Evaristo",               "Apellido": "Gomez",               "Altura": 1.78,               "Edad": 35}print(information)del information\["Edad"]print(information)claves = information.keys()print(claves)#print(type(claves))values = information.values()print(values)pairs = information.items()print(pairs) estudiante = {'nombreE': 'Varo',              'edad': 20,              'cursos': \['Matemáticas', 'Física', 'Química'],              'promedio': 8.0 }print(estudiante)nombreE = estudiante\['nombreE']print(nombreE)  # Salida: Juanedad = estudiante\['edad']print(edad)  # Salida: 21estudiante\['edad'] = 22 # cambiando el valor de un diccionarioprint(estudiante\['edad'])  # Salida: 22clavesE = estudiante.keys()print(clavesE)#print(type(clavesE))valuesE = estudiante.values()print(valuesE)pairsE = estudiante.items()print(pairsE)estudiante\['graduado'] = False # de esta forma agrego una nueva clave y valor, clave dentro de los \[] y le digo que es igual al valor asignadoprint(estudiante)  # Salida: {'nombre': 'Juan', 'edad': 22, 'cursos': \['Matemáticas', 'Física', 'Química'], 'promedio': 8.5, 'graduado': False}del estudiante\['promedio']print(estudiante)  # Salida: {'nombre': 'Juan', 'edad': 22, 'cursos': \['Matemáticas', 'Física', 'Química'], 'graduado': False}graduado = estudiante.pop('graduado') # esta es otra forma de eliminar print(estudiante)  # Salida: {'nombre': 'Juan', 'edad': 22, 'cursos': \['Matemáticas', 'Física', 'Química']} contacts = {"Vane": {"Apellido": "Canto",               "Altura": 1.60,               "Edad": 29},                "Evaristo": {"Apellido": "Gomez",               "Altura": 1.80,               "Edad": 35}}print(contacts\["Vane"]) \# dict.keys(): Devuelve una vista de las claves del diccionario.# dict.values(): Devuelve una vista de los valores del diccionario.# dict.items(): Devuelve una vista de los pares clave-valor del diccionario.# dict.get(clave, valor\_por\_defecto): Devuelve el valor asociado a la clave. Si la clave no existe, devuelve valor\_por\_defecto.# dict.update(otro\_diccionario): Actualiza el diccionario con los pares clave-valor de otro\_diccionario.
Les comparto lo que se me ocurrió con la agenda y lo convertí en un ejemplo de perfil. Se puede ir completando más. ![](https://static.platzi.com/media/user_upload/image-2a3ac967-f6fc-4431-941b-633f61146764.jpg) El output: ![](https://static.platzi.com/media/user_upload/image-3ffff34c-b09b-47d5-830c-fb2486673268.jpg) Espero que les sirva.
Se podrian utilizar diccionarios para el analisis de datos 👀
entendiendo como llave:valor pudiera sustitur la llava por un id ? en el ejemplo usamos los nombre como llave y me trae la informacion desde el apellido. pero no el nombre porque es la llave. algo asi : contact = {"user1":{"nombre":"antonio",                    "apellido": "Bolivar",                    "edad": 40,"altura":1.72},} print(contact\["user1"]) {'nombre': 'antonio', 'apellido': 'Bolivar', 'edad': 40, 'altura': 1.72}
Bases de datos de clientes y recetas para comida. Se me ocurren esas dos, soy nuevo en esto jajjajja
Como ya se habló de los grupos en los tipos de variables, que son los mutables e inmutables. Creo que cabe comentar que: Los diccionarios tienen una limitación en cuanto a las keys, pues estas solo pueden ser inmutables: : cadenas, enteros, tuplas (con valores inmutables en sus miembros), etc. Luego para los valores no existe restricciones.
Casos de vida real pra diccionarios puede ser, menus con sus descripción
Como bien comentan en la clase a simple vista se podría utilizar o se utiliza en los supermercador, cada articulo debe tener su respectiva información básica. Por ejemplo, si tenemos un 'pure de tomate' debemos saber cual es su nombre, cuantas piezas tenemos en el inventario, cual es su código de barras, para los asociados que laboran en el supermercado es útil saber a que departamento pertenece el artículo, cual es su precio, si tiene promoción o no, quien es su proveedor entre otros datos útiles.
💡 Un ejemplo práctico es gestionar una lista de usuarios, donde podemos **ver 👀**, **buscar 🔍**, **actualizar ✏️** y **eliminar 🗑️** sus datos fácilmente. Ideal para organizar información 🚀 ```python usuarios = {} contador_id = 1 # Contador para generar IDs únicos # Función para agregar un usuario def agregar_usuario(): global contador_id nombre = input("Nombre: ") apellido = input("Apellido: ") email = input("Email: ") categoria = input("Categoría: ") usuarios[contador_id] = { "id": contador_id, "nombre": nombre, "apellido": apellido, "email": email, "categoria": categoria } print(f"Usuario agregado con ID: {contador_id}") contador_id += 1 # Función para visualizar la lista de usuarios def ver_usuarios(): if not usuarios: print("No hay usuarios registrados.") else: print("\nLista de usuarios:") print("-" * 60) print("| ID | Nombre | Apellido | Email | Categoría |") print("-" * 60) for id_usuario, datos in usuarios.items(): print(f"| {datos['id']:<4} | {datos['nombre']:<15} | {datos['apellido']:<15} | {datos['email']:<20} | {datos['categoria']:<11} |") print("-" * 60) # Función para eliminar un usuario por su ID def eliminar_usuario(): id_usuario = int(input("Ingrese el ID del usuario a eliminar: ")) if id_usuario in usuarios: del usuarios[id_usuario] print(f"Usuario con ID {id_usuario} eliminado.") # Llamar recursivamente a agregar_usuario después de eliminar agregar_usuario() else: print(f"No se encontró un usuario con ID {id_usuario}.") # Función para buscar usuarios por nombre o apellido def buscar_usuario(): busqueda = input("Ingrese nombre o apellido para buscar: ").lower() resultados = [] for id_usuario, datos in usuarios.items(): if busqueda in datos["nombre"].lower() or busqueda in datos["apellido"].lower(): resultados.append(datos) if resultados: print("\nResultados de la búsqueda:") print("-" * 60) print("| ID | Nombre | Apellido | Email | Categoría |") print("-" * 60) for datos in resultados: print(f"| {datos['id']:<4} | {datos['nombre']:<15} | {datos['apellido']:<15} | {datos['email']:<20} | {datos['categoria']:<11} |") print("-" * 60) else: print("No se encontraron usuarios con ese nombre o apellido.") # Función para actualizar un usuario por su ID def actualizar_usuario(): id_usuario = int(input("Ingrese el ID del usuario a actualizar: ")) if id_usuario in usuarios: print(f"\nDatos actuales del usuario con ID {id_usuario}:") print("-" * 60) print("| ID | Nombre | Apellido | Email | Categoría |") print("-" * 60) datos = usuarios[id_usuario] print(f"| {datos['id']:<4} | {datos['nombre']:<15} | {datos['apellido']:<15} | {datos['email']:<20} | {datos['categoria']:<11} |") print("-" * 60) # Solicitar nuevos datos nombre = input("Nuevo nombre (dejar vacío para no cambiar): ") apellido = input("Nuevo apellido (dejar vacío para no cambiar): ") email = input("Nuevo email (dejar vacío para no cambiar): ") categoria = input("Nueva categoría (dejar vacío para no cambiar): ") # Actualizar solo los campos que no están vacíos if nombre: usuarios[id_usuario]["nombre"] = nombre if apellido: usuarios[id_usuario]["apellido"] = apellido if email: usuarios[id_usuario]["email"] = email if categoria: usuarios[id_usuario]["categoria"] = categoria print(f"Usuario con ID {id_usuario} actualizado.") else: print(f"No se encontró un usuario con ID {id_usuario}.") # Menú principal def menu(): while True: print("\n--- Gestión de Usuarios ---") print("1. Agregar usuario") print("2. Ver lista de usuarios") print("3. Eliminar usuario por ID") print("4. Buscar usuario por nombre o apellido") print("5. Actualizar usuario por ID") print("6. Salir") opcion = input("Seleccione una opción: ") if opcion == "1": agregar_usuario() elif opcion == "2": ver_usuarios() elif opcion == "3": eliminar_usuario() elif opcion == "4": buscar_usuario() elif opcion == "5": actualizar_usuario() elif opcion == "6": print("Saliendo del programa...") break else: print("Opción no válida. Intente nuevamente.") # Ejecutar el menú if __name__ == "__main__": menu() ```
Los diccionarios en Python se utilizan en diversas aplicaciones en la vida real. Por ejemplo: 1. **Bases de datos**: Para almacenar registros de usuarios, donde cada clave puede ser un identificador (ID) y el valor, los detalles del usuario. 2. **E-commerce**: Para almacenar productos, donde cada clave es el identificador del producto y el valor son atributos como nombre y precio. 3. **API**: Para estructurar respuestas, donde la clave es el nombre del campo y el valor es la información correspondiente, facilitando la manipulación de datos. Sigue explorando las aplicaciones de los diccionarios y cómo optimizar su uso en Python.
Algo que también puedes guardar en los diccionarios son funciones, lo que te puede ser muy útil para solo invocar el diccionario, pasarle datos y recibir los datos de salida, en este ejemplo que hecho una calculadora: ![](https://static.platzi.com/media/user_upload/image-66ecb39e-ed60-44e3-af42-b8981fd0957d.jpg) Imaginate las posibilidades, puedes tener la información de un producto y a su vez tener una función que de el valor total del producto con impuestos. Es muy útil, dejo el código aquí abajo. ```js operations = { 'sum' : lambda x,y: x + y, 'sub' : lambda x,y: x - y, 'mul' : lambda x,y: x * y, 'div' : lambda x,y: x / y if y > 0 else 'No se puede dividir entre 0' } print('suma 7 + 5 =',operations['sum'](7,5)) print('resta 15 - 5 =',operations['sub'](15,5)) print('multiplicación 30x4 =',operations['mul'](30,4)) print('división 10 / 2 =',operations['div'](10,2)) print('división entre 0 ==> 10 + 0 =',operations['div'](10,0)) ```
Dejo por aquí la documentación de python de los diccionarios por si quieren prodizar: <https://docs.python.org/3.13/tutorial/datastructures.html#dictionaries>
uno de los usos en los que mas observo a diario el uso de los diccionarios en el sistema de facturación el cual requiere diccionarios para almacenar las colecciones de datos de cada producto que se almacena en el
El uso de diccionarios podría ser muy grande. En Salud, por ejemplo los datos de identificación de la historia clínica. En Mecanica, los datos de cada vehiculo que ingresa al taller, en las escuelas, los datos de los estudiantes. Y un largo etc...
Dejo esto por si alguien viene de JS. Si son como los objetos de JS Si, es necesario usar comillas en las claves No, no se puede usar la sintaxis de . para acceder a la clave
Con los diccionarios podremos almacenar datos ; clave y valor.
Para cambiar un valor específico en un diccionario anidado, puedes acceder al diccionario utilizando su clave y luego asignar el nuevo valor. En tu caso, para cambiar la edad de Carla a 27, lo harías así: ```python information = { "Karla": { "apellido": "Florida", "altura": 1.60, "edad": 29 }, "Diego": { "apellido": "Artesana", "altura": 1.80, "edad": 32 } } # Cambiar edad de Carla information["Karla"]["edad"] = 27 ``` Después de ejecutar esto, la edad de Carla será 27.
En este curso falta explicar conceptos de todos los temas en general, las clases no están pensadas para personas que apenas iniciamos en el mundo de la programación.
Hola Carla. Tengo este diccionario anidado: ```js contacts = {"Carla": {"Apellido": "Florida", "Altura": 1.60, "Edad": 29}, "Diego": {"Apellido": "Antezana", "Altura": 1.80, "Edad": 32}} # Quiero cambiar solo la edad de Carla en este y puedo utilizar el siguiente método: contacts.update({"Carla": {"Apellido": "Florida", "Altura": 1.60,"Edad":30}}) # Existe otra forma de cambiar la Edad de Carla sin tener que repetir los valores de Apellido y Altura? ```contacts = {"Carla": {"Apellido": "Florida",               "Altura": 1.60,               "Edad": 29},                "Diego": {"Apellido": "Antezana",               "Altura": 1.80,               "Edad": 32}}
```python InfoDisponibel = { "Productos":{"Aseo": "Cantidad : 30", "Comida Refrigerada": "Cantidad: 80", "Golosinas": "Cantidad: 120"}, "Empleados":{"Nombres Y Cargos ":{"Juan": "SoftwareDev","Luisa":"Cajera","Maria":"Administradora","Valentina":"Marketing","Laura":"Manager"}}, "Gastos": {"Pago Miembros Compania": "$200000", "Compra De Productos": "$7000", "Mantenimiento General": "$4000"} } print("Bienvenido al Sistema de Navegacion MArketJuan byJuanCRACKPROSUPERPRO", end=" ") print("Que quiere Buscar HOY? Opciones : ") ClavesPrincipales = InfoDisponibel.keys() print(ClavesPrincipales) Request = input("Que quiere consultar hoy? ") print(InfoDisponibel[Request]) ```Me anime a hacer como un supermercado xd
bases de datos , para un colegio donde el director quiera mirar la lista de profesores y los profesores que clases dan y aue alumnos etc
Soy Nueva en esté tema y en todo lo relacionado a programación, Se me ocurre que se puede usar para los planes de ejercicios en los gimnasios o en la rutina personal. Por ejemplo, la llave Lunes, y en resultado me imprima los ejercicios y repeticiones. :)
Los diccionarios son muy útiles para asignar varios datos a una serie de elementos, por ejemplo en una base de datos de especies vivas como plantas, donde a cada especie se le pueden asignar datos como clima, habitad, altura, etc
Un diccionario un Python es un LinkedHashMap en Java
Los diccionarios tambien podrian ser utiles para el control de actividades, presupuestos semanales, mensuales, control de inventarios.
Me parece q una forma de aprovechar nuestro bilinguismo es nombrar las variables en español, me parece q esto facilita la lectura del codigo, al menos cuando estamos aprendiendo el lenguaje. Aunque talvez esto limite el uso por comunidades internacionales de otros continentes.🙄 en el momento q publicamos en github o colaboramos en equipos transnacionales.
Deberian recomendar formas ams dinamicas para aprender porque tipos como yo que no sabemos ni J, no se nos haga muy tedioso.
los diccionarios nos ayudarian mucho en el manejo de inventarios.
Los usos en la vida real es cuando Instagram realiza un mapeo de sus usuarios. ```js usuariosInstagram = { "@jacsontheguitars": {"nombre":"Jheanpiere", "edad": 21}, "@tinistoessel": {"nombre": "Martina", "edad": 27} } print("Datos de usuario @jacsontheguitars:", usuariosInstagram["@jacsontheguitars"]) ```
```js numbers = {1: "uno", 2: "dos", 3: "tres"} print(numbers) print() information = { "Nombre": "Jheanpiere", "Apellidos": "Cerdan", "Altura": 1.60, "Edad": 21, } # information = {"keys":"values"} # information = {items} # PP print(information) del information["Edad"] print(information) claves = information.keys() print(claves) print(type(claves)) values = information.values() print(values) pairs = information.items() print(pairs) contacts = {"Jheanpiere": {"Apellidos": "Cerdan", "Altura": 1.90, "Edad": 21}, "Martina": {"Apellidos": "Stoessel", "Altura": 1.60, "Edad": 27}} print(contacts["Martina"]) ```
![](https://static.platzi.com/media/user_upload/sencilla_validacion-6e2d1178-f944-4104-bba7-761f9d0823b7.jpg) Esto se puede aplicar del lado del servidor, es decir, en el proceso de interacción del usuario con un sitio web, es posible que tenga un inconveniente ante alguna petición de acceso (sea problema red, acceso no autorizado o bloqueo por AV, etc) y en consecuencia le muestre un código de error, sin embargo el usuario desconoce el significado de estos. Para ello podemos desarrollar una validación apoyándonos de un **DICCIONARIO**, de forma que podamos almacenar los errores de código en este y referenciarlos según sea el caso. Algunos ejemplos son los siguientes: LinkdIN ![](https://static.platzi.com/media/user_upload/linkdIN-cc11269e-30db-472b-9f42-026d229ce7dd.jpg) Youtube ![](https://static.platzi.com/media/user_upload/youtube_error-2ec87417-c6cc-4060-a644-5cac538fbff3.jpg)
Un ejemplo de aplicación de diccionarios es en las historias clínicas de pacientes o en los seguros de vehículos.
Se pueden tener en las horas de registor de materiales del SAP, trabajo en mantenimiento electrico y ahi se debe registrar cada material con su respectiva descripcino y caracteristicas.
si deseamos consultar un valor del diccionario de carla como la edad print(contacts\["Carla"]\["Edad"])
```js # Other methods colores = { "amarillo":"yellow", "azul":"blue", "verde":"green" } # get() # Busca un elemento a partir de su clave y si no lo encuentra devuelve un valor por defecto: color = colores.get('negro','no se encuentra') print(color) # 'no se encontró' # pop() # Extrae un registro de un diccionario a partir de su clave y lo borra, acepta valor por defecto: color = colores.pop("amarillo", "no se ha encontrado") print(color) # 'yellow' # clear() # Borra todos los registros de un diccionario colores.clear() print(colores) # {} ```# Other methodscolores = { "amarillo":"yellow", "azul":"blue", "verde":"green" } \# get()# Busca un elemento a partir de su clave y si no lo encuentra devuelve un valor por defecto:color = colores.get('negro','no se encuentra')print(color) # 'no se encontró' \# pop()# Extrae un registro de un diccionario a partir de su clave y lo borra, acepta valor por defecto:color = colores.pop("amarillo", "no se ha encontrado")print(color) # 'yellow' \# clear()# Borra todos los registros de un diccionariocolores.clear()print(colores) # {}
En el control de los cursos por alumno en la universidad.
Un uso cotidiano de los diccionarios podría ser la información de una lista de clientes en una empresa. En donde por nombre podemos almacenar los distintos detalles del cliente ( frecuencia, sexo, localidad, compra, rango de fecha de compra (mes)). Un gran video! Estoy encantado.
![](https://static.platzi.com/media/user_upload/image-db016120-ca43-4bac-a687-45bb7e1b7dce.jpg) Como puedo eliminar edad de Carla o Diego? y cuando haga print solo me parezca solo uno con la edad me gustaria prender eso.
En CRMs seria muy posible ver el uso de diccionarios para clasificar información.
Creé un diccionario anidado para representar la información de un autor. Este diccionario principal tiene como clave el nombre del autor y como valor otro diccionario que contiene listas para los títulos, años de publicación y editoriales de sus obras. Finalmente, accedí al tercer elemento de la lista de títulos para imprimir el nombre del tercer libro: ![](https://static.platzi.com/media/user_upload/image-7ffd50da-5d88-470d-91d3-b9ec12c77d4d.jpg) aquí el bloque de código: ```js books = { 'Stephen King' : { 'titulo' : ['Carrie', 'El resplandor', 'it'], 'publicacion': [1974, 1977, 1986], 'editorial' : ['doubleday', 'diybleday', 'vivking press'] } } print('accediendo a su tercer libro') print(books['Stephen King']['titulo'][2]) # imprime it ```
En mis ratos libres me gusta leer y escribir mis impresiones de muchos libros. El uso de diccionarios en Python lo he implementado en mi mini base de datos que en un futuro planeo que se convierta en un blog: ```python book1 = { "title":"La Chica Gris", "author":"Antonio Runa", "year":"2022", "publisher":"Minotauro", "country":"Spain", "languaje":"Spanish", "ISBN":{ "phisical":"9788445014752", "digital":"[???]" }, "chapters":{ 0:{ "title":"Capítulo 0", "page":14, "abstract":"Saul y Maxi..." }, 1:{ "title":"Vuelta al ruedo", "page":23, "abstract":"Isaac Zarco..." }, 2:{ "title":"La promesa", "page":87, "abstract":"En 1995..." }, 3:{ "title":"Mentes abiertas", "page":119, "abstract":"" } } } ```de igual forma lo complementé con algunos métodos como get(), para obtener información específica de algún capítulo o la longitud en páginas de los capítulos: ```python def getChapter(chapter,dataString): chapterN = book1.get("chapters")[chapter] chapterValue = chapterN[dataString] return chapterValue def getChapterLenght(chapterA,chapterB): pageA = book1.get("chapters")[chapterA]["page"] pageB = book1.get("chapters")[chapterB]["page"] difference = abs(pageB-pageA) ```Por ejemplo: ```python getChapter(1,"abstract") # regresa el resumen del capítulo 1: Isaac Zarco... getChapterLenght(2,3) # Regresa la diferencia en páginas entre los capítulos 2 y 3 ```
Diccionarios se usa para almacenar datos, organizados de una forma de por ejemplo "palabra y concepto" palabra = clave/llave, concepto = valor PARA DECLARAR DICCIONARIOS DE UTULIZAN {} \# Obtener y mostrar todas las parejas clave-valor del diccionario 'information' pairs = information.items()
El diccionario se puede usar perfecto en cualquier comercio con nombre de producto y valor.
Algunos usos: Ejemplo 1: Configuración de un servidor web ```python # Configuración del servidor server_config = { "server_name": "mi_servidor", "ip": "192.168.1.1", "ssl_enabled": False } print("Configuración del servidor:", server_config) # Registro de visitas visitas = ["192.168.1.10", "192.168.1.20", "192.168.1.10", "192.168.1.30"] visitas_contador = {} for ip in visitas: visitas_contador[ip] = visitas_contador.get(ip, 0) + 1 print("Registro de visitas:", visitas_contador) ```Ejemplo 2: Gestión de productos en inventario ```python # Inventario de productos inventario = { "manzana": 50, "banana": 30, "naranja": 20 } print("Inventario inicial:", inventario) # Venta de productos ventas = ["manzana", "banana", "manzana"] for producto in ventas: if producto in inventario: inventario[producto] -= 1 print("Inventario actualizado:", inventario) ```Ejemplo 3: Registro de calificaciones de estudiantes ```python # Registro de estudiantes y calificaciones estudiantes = { "123": {"nombre": "Luis", "calificaciones": [85, 90, 78]}, "456": {"nombre": "María", "calificaciones": [92, 88, 95]} } print("Datos de estudiante 123:", estudiantes["123"]) # Promedio de calificaciones for id_estudiante, datos in estudiantes.items(): promedio = sum(datos["calificaciones"]) / len(datos["calificaciones"]) print(f"Promedio de {datos['nombre']}: {promedio}") ``` Ejemplo 4: Gestión de una biblioteca ```python # Libros en la biblioteca biblioteca = [ {"título": "1984", "autor": "George Orwell", "año": 1949}, {"título": "El principito", "autor": "Antoine de Saint-Exupéry", "año": 1943} ] for libro in biblioteca: print(f"Título: {libro['título']}, Autor: {libro['autor']}") ```Ejemplo 5: Conversión de datos estructurados a JSON ```python import json # Información de un evento evento = { "nombre": "Concierto de rock", "fecha": "2024-12-10", "ubicación": "Ciudad de México" } # Convertir a JSON evento_json = json.dumps(evento) print("Datos del evento en JSON:", evento_json) # Convertir de JSON a diccionario evento_diccionario = json.loads(evento_json) print("Datos del evento (diccionario):", evento_diccionario) ```
osea que pyton no tiene algo similar a un garbage collector que valla eliminando variables que no se hallan unado en un tiempo o espacios de memoria ocupados, sinningun apuntador a ellos? o porque razon existe el statement del ?
que diferencia a un Json de un diccionario?
En Python, se utilizan diferentes tipos de delimitadores para diversas estructuras de datos: 1. **Paréntesis `()`**: Se usan para definir tuplas y para agrupar expresiones. También se utilizan en funciones para pasar argumentos. 2. **Corchetes `[]`**: Se emplean para listas y para acceder a elementos dentro de listas, diccionarios y otros contenedores. 3. **Llaves `{}`**: Se utilizan para definir diccionarios y conjuntos. En el contexto de diccionarios, representan pares de clave-valor. Cada uno tiene un propósito específico, por lo que seleccionar el correcto depende de la estructura de datos que necesites utilizar.
Los diccionarios en Python podemos usarlos en la vida real en los siguientes casos: ### 1. **Procesamiento de datos estructurados** * **Bases de datos JSON:** Los diccionarios son ideales para manipular datos en formatos como JSON, comúnmente usados en aplicaciones web y APIs. * **Almacenar información de usuarios:** Puedes usar diccionarios para guardar perfiles de usuario en aplicaciones ### 2. **Gestión de configuraciones** Los diccionarios son excelentes para guardar configuraciones de aplicaciones ### 3. **Indexar datos** * **Rutas de servidores web:** En frameworks como Flask o Django, los diccionarios se usan para asociar rutas con funcione * **Buscadores:** Para indexar palabras clave con URLs relevantes. ### 4. **Conteo y agrupación** * **Análisis de texto:** Puedes usar diccionarios para contar la frecuencia de palabras en un texto ### 5. **Sistemas de recomendaciones** * En plataformas como Netflix o Spotify, los diccionarios se pueden usar para representar ### 6. **Optimización de búsquedas** * **Mapeo de datos:** Por ejemplo, en aplicaciones como un diccionario de traducción ### 7. **Modelado de grafos** Los diccionarios se pueden usar para representar grafos, útiles en redes sociales, sistemas de navegación y más ### 8. **Inteligencia artificial y aprendizaje automático** * Almacenar características de objetos para modelos ### 9. **Sistemas de inventarios** * En tiendas en línea o bases de datos ### 10. **Configuración y personalización de aplicaciones** Por ejemplo, en videojuegos para definir habilidades de un personaje
Los diccionarios en la vida real podemos usarlos en cualquier cosa que deseemos etiquetar
Los diccionarios en Python son útiles en diversas aplicaciones del mundo real. Por ejemplo: 1. **Gestión de contactos**: Puedes almacenar información de personas (nombre, teléfono, dirección) usando el nombre como clave. 2. **Inventarios**: En e-commerce, cada producto puede ser un diccionario donde la clave es el ID del producto y el valor incluye descripción, precio y cantidad. 3. **Configuraciones**: Almacena configuraciones de usuario donde cada clave representa una preferencia. 4. **Datos estructurados**: Almacena datos complejos, como registros de estudiantes (nombre, edad, calificaciones) usando el ID del estudiante como clave. Explorar estas aplicaciones te ayudará a mejorar tus habilidades en Python.
Creo que un uso potencial interesante puede ser en la programación de cursos y actividades académicas, trátese de actividades escolares o incluso clases universitarias, especificando datos como día, hora, docente a cargo, temas a tratar, sinopsis de la clase, examen, quiz, etc. En este caso lo importante sería diseñar muy bien la estructura del diccionario para filtrar la información, ya sea por estudiante, docente, programa académico, etc.
Se me ocurre como aplicación rápida, un diccionario de menús de un restaurante, con sus diferentes platos, postres, entradas, etc, etc.
Acá dejo mis apuntes, estoy aprendiendo este lenguaje me parece muy interesante la manera en que se manejan los valores y las informaciones y su sintaxis, recién termine la ruta Full-Stack con Javascript y como dice el lema de esta academia, nunca paremos de aprender. ![](https://static.platzi.com/media/user_upload/image-0e24f7b7-82a8-4ae2-95d0-040a1de3228b.jpg)![](https://static.platzi.com/media/user_upload/image-19cfec3c-3a80-4fa0-af77-65a4ae5c99e2.jpg)
`# Ejemplo de una plataforma de streamingstreaming = {    "1": {        "title": "The Mandalorian",        "seasons": 2    },    "2": {        "title": "The Witcher",        "seasons": 1    },    "3": {        "title": "Stranger Things",        "seasons": 3    }}print("Plataforma de Streaming:", streaming)` `# Ejemplo de una tiendastore = {    "1": {        "product": "Laptop",        "price": 1000    },    "2": {        "product": "Smartphone",        "price": 500    },    "3": {        "product": "Tablet",        "price": 300    }}print("Tienda:", store)`
En los últimos días, he estado trabajando en un programa que utiliza web scraping para extraer datos de un sitio web y almacenarlos en un diccionario. Es interesante ver cómo los diccionarios permiten organizar la información, pero he notado que no permiten duplicar claves, lo cual se vuelve un reto, ya que el HTML del sitio es bastante complejo. La clase ha sido muy útil y me ha ayudado a entender mejor los conceptos, pero aún estoy un poco “atorado” en la implementación de mi aplicación. Estoy buscando la mejor manera de manejar estos datos en un diccionario sin perder información clave.
Casos de Uso y Aplicaciones Situaciones en las que son indispensables Los diccionarios no son simplemente una herramienta elegante; son fundamentales en muchos escenarios. Desde configuraciones de software hasta representación de datos en aplicaciones web, los diccionarios simplifican la organización y recuperación de información. Por ejemplo, cuando trabajas con bases de datos, un registro individual puede ser fácilmente representado como un diccionario, donde las columnas de la base de datos son las claves, y los datos específicos del registro son los valores. Ventajas de utilizar diccionarios en programación Hay numerosas razones por las que los programadores adoran los diccionarios en Python. Algunas de las ventajas más notables incluyen: Acceso rápido: Recuperar un valor usando una clave es extremadamente rápido, independientemente del tamaño del diccionario. Claves únicas: Cada clave en un diccionario es única. Esto evita datos duplicados y garantiza la integridad de la información. Flexibilidad: Los diccionarios pueden almacenar una amplia variedad de tipos de datos, incluidos otros diccionarios, lo que permite estructuras de datos anidadas y complejas. Metodología intuitiva: La forma en que se accede y se manipula la información en un diccionario es intuitiva y fácil de entender, lo que facilita el aprendizaje y la implementación.
Un ejemplo de Diccionario seria cuando uutilizamos JSON, XML, YAML y en bases de Datos
los diccionarios los usamos , o su estructura es muy parecida cuando trabajamos con json
excelente clase, en otros cursos este apartado de diccionarios no se mencionan y creo que es una herramienta muy fuerte para la manipulacion de datos
## Diccionarios Un **diccionario** es una estructura de datos que almacena pares de **clave** y **valor**. Es útil para buscar valores rápidamente usando claves en lugar de índices. ### Uso básico: * Se define usando llaves `{}`. * Cada elemento es un par `clave: valor`. ### Principales reglas: 1. **Claves únicas**: Las claves deben ser únicas; si se repite, se sobrescribe el valor anterior. 2. **Claves inmutables**: Las claves deben ser inmutables (pueden ser cadenas, números, tuplas), pero no listas ni otros diccionarios. 3. **Acceso a valores**: Se accede a los valores a través de las claves \[ ] 4. **Agregar/Modificar elementos**: Puedes agregar o actualizar elementos con una clave. 5. **Métodos útiles**: `.get()` para obtener valores sin error, `.keys()`, `.values()`, `.items()` para acceder a claves, valores o pares. Los diccionarios son ideales para almacenar datos con relaciones clave-valor y ofrecen acceso rápido mediante las claves.
Por qué al crear un diccionario cambia el orden en que se puso la información? ![](https://static.platzi.com/media/user_upload/image-c97c0d05-327d-44f9-b92c-ac1d700bf25b.jpg) No sé si a alguien más le pasa
Mi ejemplo práctico de esta clase: ![]()![](https://static.platzi.com/media/user_upload/image-4384e28b-6a8e-4948-a167-05f25899dc10.jpg)
Mi cometario sobre algunas aplicaciones d los diccionarios de Python. Uso de los diccionarios de Python en la vida real. ¡Yo creo que! En un registro de notas de un colegio en donde cada estudiante tiene un código que seria la llave, con esta llave podemos acceder a todos los datos personales de un estudiante, también las calificaciones, asignaturas y demás datos. Otra aplicación puede ser los inventarios de un almacén de cadena donde existen mucho producto con sus respectivos códigos que son la clave, invocando la calve se accede a toda la información de los productos como puede ser marca, peso, precio, etc. Gracias me gusta su curso.
Consulta básica: ¿Por qué pondría esto así en vez de todo dentro de un sólo grupo de comillas? x = 'Hello' + ' ' + 'World!'
Estos casos de uso me parecieron interesantes: ```python #Gestión de inventarios: inventario = { 'manzanas': 50, 'bananas': 30, 'naranjas': 20 } # Actualizar inventario inventario['manzanas'] -= 10 # Almacenamiento de información de usuario: usuarios = { 'user_123': {'nombre': 'Juan', 'email': '[email protected]', 'edad': 28}, 'user_456': {'nombre': 'Ana', 'email': '[email protected]', 'edad': 24}, } # Acceder a la información de un usuario email_ana = usuarios['user_456']['email'] # Configuración de una aplicación: configuracion = { 'resolucion': '1920x1080', 'volumen': 75, 'brillo': 50 } # Cambiar el volumen configuracion['volumen'] = 80 ```
para imprimir solo uno de los valores del diccionario ```js # Diccionario para agenda contacts = {"Carla": {"Apellido": "Arteaga", "altura":"1.60", "CP":"11400", "Tel":55607885}, "Diego": {"Apellido": "Solis", "altura":"1.80", "CP":"12300", "Tel":5564568985}, } print (contacts["Carla"]["Tel"]) # esto para imprimir solamente el valor de una de las claves del diccionario print (contacts["Diego"], "\n") print("\n") print("\n") ```
segundo 33 , me doy cuenta que diccionario es lo que conocemos en js como objeto, copy paste le cambio el nombre a la tarea, el compañerito copion. en lugar de decir que es un objeto
![](https://static.platzi.com/media/user_upload/image-73cf1521-3669-4342-93dc-d107b2818769.jpg)
Pienso que una página de excel funciona con diccionarios, la primera fila son las llaves, las columnas son los valores, y todo lo que está adentro son los values.
Tanto para desarrollo de Back-end como de Data me parece que son útiles los diccionarios.
Se puede utilizar en una base de datos para un estudio doble ciego probando un nuevo medicamento
Mi programa: futbol\_actual= {"Eurocopa":{     "cupo\_1": "ESPAÑA",    "cupo\_2": "INGLATERRA" },"America":{     "primero":"ARGENTINA",    "segundo": "COLOMBIA"}} print(futbol\_actual\["America"])resultado = futbol\_actual.keys()resultado2 = futbol\_actual.values() print(resultado)print(resultado2)
```python plazos = { "Retefte" : { "Enero-2024" : { 1 : "09/02/2024", 2 : "10/02/2024", 3 : "11/02/2024", 4 : "12/02/2024", 5 : "13/02/2024", 6 : "16/02/2024", 7 : "17/02/2024", 8 : "18/02/2024", 9 : "19/02/2024", 0 : "20/02/2024" }, "Febrero-2024" : { 1 : "09/03/2024", 2 : "10/03/2024", 3 : "11/03/2024", 4 : "12/03/2024", 5 : "13/03/2024", 6 : "16/03/2024", 7 : "17/03/2024", 8 : "18/03/2024", 9 : "19/03/2024", 0 : "20/03/2024" }, "Marzo-2024" : { 1 : "09/04/2024", 2 : "10/04/2024", 3 : "11/04/2024", 4 : "12/04/2024", 5 : "13/04/2024", 6 : "16/04/2024", 7 : "17/04/2024", 8 : "18/04/2024", 9 : "19/04/2024", 0 : "20/04/2024" } }, "Iva" : { "Bim1-2024" : { 1 : "09/03/2024", 2 : "10/03/2024", 3 : "11/03/2024", 4 : "12/03/2024", 5 : "13/03/2024", 6 : "16/03/2024", 7 : "17/03/2024", 8 : "18/03/2024", 9 : "19/03/2024", 0 : "20/03/2024" }, "Bim2-2024" : { 1 : "09/05/2024", 2 : "10/05/2024", 3 : "11/05/2024", 4 : "12/05/2024", 5 : "13/05/2024", 6 : "16/05/2024", 7 : "17/05/2024", 8 : "18/05/2024", 9 : "19/05/2024", 0 : "20/05/2024" } } } print(plazos["Retefte"]["Marzo-2024"][9]) ```
Hice un ejemplo con la actualidad del futbol internacional y las finales de ambos torneos: futbol\_actual= {"Eurocopa":{     "cupo\_1": "ESPAÑA",    "cupo\_2": "INGLATERRA" }," Copa\_America":{     "primero":"ARGENTINA",    "segundo": "COLOMBIA"}} print(futbol\_actual\["America"])resultado = futbol\_actual.keys()resultado2 = futbol\_actual.values() print(resultado)print(resultado2)
en el minuto -2.12 haciendo el ejercicio me daba un error. Le pregunte a la IA y esto me contesto "En Python, para definir una lista de diccionarios, debes usar corchetes `[]` en lugar de llaves `{}`." asi lo hice y me salio bien.
Los \*\*diccionarios\*\* en Python son estructuras de datos que permiten almacenar pares de clave-valor. Cada clave en un diccionario es única, y se utiliza para acceder al valor asociado a esa clave. A diferencia de las listas y las tuplas, donde los elementos se acceden por su posición (índice), en un diccionario se accede a los valores a través de sus claves. \### Características de los Diccionarios: 1\. \*\*Clave-Valor:\*\* Cada elemento en un diccionario tiene una clave y un valor asociado. Por ejemplo, en el par `'nombre': 'Juan'`, `'nombre'` es la clave y `'Juan'` es el valor. 2\. \*\*Inmutabilidad de Claves:\*\* Las claves deben ser de un tipo de dato inmutable, como números, cadenas de texto (strings) o tuplas. 3\. \*\*Mutabilidad de Valores:\*\* Los valores pueden ser de cualquier tipo de dato, incluidos otros diccionarios, listas, tuplas, etc. 4\. \*\*Acceso Rápido:\*\* El acceso a los valores en un diccionario es muy eficiente gracias a su implementación basada en tablas hash. \### Creación de un Diccionario: Puedes crear un diccionario usando llaves `{}` o la función `dict()`. ```python \# Usando llaves diccionario = { 'nombre': 'Juan', 'edad': 30, 'ciudad': 'Madrid' } \# Usando dict() diccionario2 = dict(nombre='Ana', edad=25, ciudad='Barcelona') ``` \### Acceso a Valores: Para acceder al valor asociado a una clave, se usa la sintaxis `diccionario\[clave]`. ```python print(diccionario\['nombre']) # Salida: Juan print(diccionario2\['edad']) # Salida: 25 ``` \### Añadir o Modificar Elementos: Para añadir un nuevo par clave-valor o modificar un valor existente, se utiliza la misma sintaxis de acceso. ```python \# Añadir un nuevo par clave-valor diccionario\['profesión'] = 'Ingeniero' \# Modificar un valor existente diccionario\['edad'] = 31 print(diccionario) \# Salida: {'nombre': 'Juan', 'edad': 31, 'ciudad': 'Madrid', 'profesión': 'Ingeniero'} ``` \### Eliminar Elementos: Puedes eliminar un par clave-valor usando `del` o el método `pop()`. ```python \# Usando del del diccionario\['ciudad'] \# Usando pop (devuelve el valor eliminado) profesion = diccionario.pop('profesión') print(diccionario) \# Salida: {'nombre': 'Juan', 'edad': 31} print(profesion) # Salida: Ingeniero ``` \### Métodos Útiles: \- \*\*`keys()`\*\*: Devuelve una vista con todas las claves del diccionario. \- \*\*`values()`\*\*: Devuelve una vista con todos los valores del diccionario. \- \*\*`items()`\*\*: Devuelve una vista con todos los pares clave-valor como tuplas. \- \*\*`get(clave, valor\_por\_defecto)`\*\*: Devuelve el valor asociado a la clave, o el valor por defecto si la clave no existe. ```python \# Ejemplos de métodos claves = diccionario.keys() valores = diccionario.values() items = diccionario.items() print(claves) # Salida: dict\_keys(\['nombre', 'edad']) print(valores) # Salida: dict\_values(\['Juan', 31]) print(items) # Salida: dict\_items(\[('nombre', 'Juan'), ('edad', 31)]) \# Usando get para evitar errores si la clave no existe ciudad = diccionario.get('ciudad', 'No especificado') print(ciudad) # Salida: No especificado ``` \### Diccionarios Anidados: Los diccionarios pueden contener otros diccionarios como valores, permitiendo crear estructuras de datos complejas. ```python estudiantes = { 'Juan': {'edad': 20, 'ciudad': 'Madrid'}, 'Ana': {'edad': 22, 'ciudad': 'Barcelona'} } \# Acceder a un valor en un diccionario anidado print(estudiantes\['Juan']\['ciudad']) # Salida: Madrid ``` \### Iteración Sobre Diccionarios: Puedes iterar sobre los diccionarios para trabajar con las claves, los valores o ambos. ```python for clave, valor in diccionario.items(): print(f"La clave es {clave} y el valor es {valor}") \# Salida: \# La clave es nombre y el valor es Juan \# La clave es edad y el valor es 31 ``` Los diccionarios son muy útiles para almacenar y gestionar datos que tienen una relación directa de mapeo entre un identificador (clave) y sus características o atributos (valor).