Fundamentos de Programación y Python

1

¿Por qué aprender Python?

2

Introducción a Python

3

Conceptos Básicos de Programación

4

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

5

Manipulación de Cadenas de Texto en Python

6

Enteros, Flotantes y Booleanos

7

Todo lo que Debes Saber sobre print en Python

8

Operaciones Matemáticas en Python

9

Operaciones de Entrada/Salida en Consola

Colección y Procesamiento de Datos en Python

10

Listas

11

Método slice

12

Listas de más dimensiones y Tuplas

13

Aplicación de Matrices

14

Diccionarios

15

Comprehension Lists en Python (CLASE NUEVA)

Control de Flujo en Python

16

Estructuras condicionales

17

Bucles y Control de Iteraciones

18

Generadores e Iteradores

Funciones y Manejo de Excepciones en Python

19

Uso de Funciones en Python

20

Funciones Lambda y Programación Funcional en Python

21

¿Cómo realizar una función recursiva en Python?

22

Manejo de Excepciones y Uso de Pass (CLASE NUEVA)

Programación Orientada a Objetos en Python

23

Fundamentos de Programación Orientada a Objetos en Python

24

Ejercicio Biblioteca con POO

25

Herencia en POO con Python

26

Objetos heredados

27

Los 4 pilares de la programacion orientada a objetos

28

Uso de super() en Python (CLASE NUEVA)

29

Superando los Fundamentos de Programación Orientada a Objetos en Python

Lectura y escritura de archivos

30

Manejo de Archivos .TXT (CLASE NUEVA)

31

Manejo de Archivos CSV (CLASE NUEVA)

32

Manejo de Archivos JSON (CLASE NUEVA)

Biblioteca estándar de Python

33

Librería Statistics y Análisis Estadístico (CLASE NUEVA)

34

Biblioteca estándar en Python (CLASE NUEVA)

35

Librería Os, Math y Random (CLASE NUEVA)

36

Proyecto final: Guerra naval

Conceptos avanzados de Python

37

Recapitulación de lo aprendido hasta ahora

38

Escribir código Pythonico y profesional

39

Comentarios y Docstrings en Python

40

Scope y closures: variables locales y globales

41

Anotaciones de tipo

42

Validación de tipos en métodos

43

Librería Collections y Enumeraciones

Decoradores

44

Decoradores en Python

45

Decoradores anidados y con parámetros

46

Uso de Decoradores en clases y métodos

Métodos y estructura de clases en Python

47

Métodos mágicos

48

Sobrecarga de operadores

49

Implementación de `if __name__ == "__main__":`

50

Metaprogramación en Python

51

Uso de *args y **kwargs

52

Métodos privados y protegidos

53

Gestión avanzada de propiedades

54

Métodos estáticos y de clase avanzados

Programación concurrente y asíncrona

55

Introducción a la concurrencia y paralelismo

56

Threading y multiprocessing en Python

57

Asincronismo con asyncio

58

Asincronismo y concurrencia

Creación de módulos y paquetes

59

Creación de módulos en Python

60

Gestión de paquetes

61

Publicación de paquetes en PyPI

Proyecto final

62

Implementación de un sistema completo

63

Implementación de un Sistema Completo

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

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 48

Preguntas 6

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.
Se podrian utilizar diccionarios para el analisis de datos 👀
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.
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}
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.
Creo que se los diccionarios también se podrían usar en formularios.
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.
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.
Bases de datos de clientes y recetas para comida. Se me ocurren esas dos, soy nuevo en esto jajjajja
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).