Los diccionarios en Python son una estructura de datos sumamente versátil y poderosa, permitiendo el almacenamiento de pares clave-valor de manera eficiente. En este apartado, revisaremos cómo se pueden modificar, actualizar y eliminar elementos dentro de un diccionario. Esto incluye desde manipular directamente los valores hasta utilizar funciones específicas como del y pop.
¿Cómo crear y manipular un diccionario de Python?
Los diccionarios se pueden emplear para representar datos de diversas maneras. Por ejemplo, para representar la información de una persona:
persona ={"nombre":"Nico","apellido":"Molina","lenguajes":["Python","JavaScript"],"edad":99}
En este ejemplo, hemos definido un diccionario llamado persona que incluye el nombre, apellido, lenguajes de programación conocidos y la edad.
¿Cómo actualizar valores en un diccionario?
Modificar un valor existente en un diccionario es directo. Supongamos que queramos cambiar el nombre de la persona de "Nico" a "Santi":
persona["nombre"]="Santi"
Además, es posible realizar operaciones matemáticas con los valores numéricos del diccionario. Por ejemplo, si queremos recalcular la edad:
persona["edad"]= persona["edad"]-50# La edad pasa de 99 a 49
Para listas dentro de diccionarios, se puede usar append para agregar nuevos elementos:
persona["lenguajes"].append("Rust")
¿Cómo eliminar elementos de un diccionario?
Eliminar pares clave-valor también es simple y se puede lograr de dos maneras: usando del o pop.
Usar del
Utilizar la instrucción del para eliminar el apellido del diccionario:
del persona["apellido"]
Usar pop
El método pop requiere especificar la clave del elemento que deseamos eliminar. Por ejemplo, para eliminar la edad:
persona.pop("edad")
Este método es muy útil, pero es importante recordar que pop necesita un argumento en los diccionarios, a diferencia de su uso con listas donde puede operar sin argumentos.
¿Cómo obtener claves, valores y pares de un diccionario?
Una herramienta valiosa que ofrecen los diccionarios son los métodos para obtener listas de claves, valores, o pares clave-valor.
Obtener ítems
Para obtener tanto las claves como los valores como pares de tuplas:
items = persona.items()
Por ejemplo, si ejecutamos lo anterior, tendremos una lista de tuplas representando cada par del diccionario.
Obtener claves
Para solo las claves, utilizamos:
claves = persona.keys()
Esto devuelve una lista con todas las claves del diccionario.
Obtener valores
Para obtener únicamente los valores:
valores = persona.values()
De esta forma, obtenemos una lista con todos los valores del diccionario, un método ideal para acceso rápido a la información.
Con esta comprensión sobre la manipulación de diccionarios, el siguiente paso es explorar más métodos y trucos para trabajar con esta estructura de datos, además de aventurarse en ciclos para iterar sobre ellos. Continúa aprendiendo y perfeccionando tus habilidades en Python, un lenguaje con grandísimo potencial y posibilidades.
Aqui les dejo un link por si quieren ver otros metodos de los diccionarios
Gracias Camilo por compartir!
gracias compa.
Profe, profe, yo soy su alumno sexagenario y docente ya por 35 años casi, en estas áreas. Muchas gracias por su maravilloso carisma como docente, y estoy aprendiendo mucho de los nuevos entornos didácticos.
Me va a servir mucho el tema de los diccionarios, antes de meterme a cosas mas densas como los dataframes.
Un saludo y espero que se coma un delicioso pavo estas Navidades.
Desde Guatemala, su amigo y servidor, Humberto.
Que bien Humberto, felicitaciones, enarbolando el lema. ¡Nunca pares de aprender!
Saludos Humberto. Igual y casi sexagenario y nunca se termina de aprender. A seguir adelante. Saludos desde El Salvador. Feliz 2024.
Les compato un json de harry potter que sirve como diccionario.
#ingreso todos los valores
nombre =input("Digite su nombre: ")nombre = nombre.upper()apellidos =input("Digite sus apellidos: ")apellidos = apellidos.upper()cursos =input("cursos tomados separado por comas: ")cursos = cursos.upper()cursos = cursos.split(",") # creo la lista a partir del delimitador
ciudad =input("digite ciudad de residencia: ")ciudad = ciudad.upper()
#creo el diccionario con mis entradas
person ={"name": nombre,"apellido": apellidos,"skills": cursos,"ciudad": ciudad
}print(person)person["nombre"]="zacarias" # edito la llave nombre
person["skills"].append("Tableau") # como es una lista, puedo agregar al final este valor
del person["apellido"] # del sirve para eliminar una clave
print(person)print("aqui vamos con 3 metodos")print(person.items()) # organiza en tuplas mis conjuntos de clave-valor
print(person.keys()) # muestra solo las claves
print(person.values()) # muestra solo los valores
#borrar todo
person.clear()print(person)
Los diccionarios en Python nos permiten almacenar una serie de mapeos entre dos conjuntos de elementos, llamados keys and values (Claves y Valores).
Amigos, por si les funciona (y no lo sabían) poner el comando 'clear' dentro de Shell también limpia la consola.
Gracias
En un diccionario ppal es posible tener listas y también diccionarios.
Aquí unas formas de trabajarlos
DATA2={"name":"Harry Potter","species":"human","gender":"male","house":"Gryffindor","dateOfBirth":"31-07-1980","yearOfBirth":1980,"ancestry":"half-blood","eyeColour":"green","hairColour":"black","wand":{"wood":"holly","core":"phoenix feather","length":11},"patronus":["stag",'Fox'],"hogwartsStudent":True,"hogwartsStaff":False,"actor":"Daniel Radcliffe","alive":True,"image":"https://hp-api.herokuapp.com/images/harry.jpg"}#Agregando un dato a un diccionario que esta en un diccionario ppal
print(DATA2['wand']['core'])DATA2['wand']['core']+=' dragon heartstring'print(DATA2['wand']['core'])
#agregando un valor a una lista que esta en un diccionario ppal
print(DATA2['patronus'])DATA2["patronus"].append('cat')print(DATA2['patronus'])#eliminar un par clave, valor de una lista que esta en un diccionario ppal
del DATA2["actor"]DATA2.pop('gender')print(DATA2)#Obtener items de un diccionario
print('')print('Items')print(DATA2.items())#Imprime las keys del diccionario
print('')print('keys')print(DATA2.keys())
#imprime las keys del diccionar que esta en un diccionar ppal
print('')print('keys of dict in dict')print(DATA2["wand"].keys())#Imprime los values del diccionario
print('')print('values')print(DATA2.values())
#imprime las keys del diccionar que esta en un diccionar ppal
print('')print('values of dict in dict')print(DATA2["wand"].values())
Muy interesante el módulo de Listas y Diccionarios! Vamos por más 💚
Les comparto el código de la clase.
# Diccionarios: inserción y actualización
person ={"name":"Sara","last_name":"Mejia","langs":["Python","JavaScript"],"age":30}print(person)person["name"]="Nico"print(person)person["age"]+=20print(person)person["langs"].append("Rust")print(person)# Eliminar atributo de un diccionario
del person["last_name"]# Con los diccionarios siempre debo enviar la llave a eliminar
person.pop("age")print(person)# Devuelve los pares clave:valor en forma de tupla
print("items")print(person.items())# Devuelve una lista con los atributos o keys del diccionario
print("keys")print(person.keys())# Devuelve una lista solo con los valores del diccionario
print("values")print(person.values())# Eliminar un elemento específico de una lista dentro del diccionario
index = person["langs"].index("JavaScript")print(index)person["langs"].pop(index)print(person)
Muchas gracias! Tu comentario me ha hecho completar mis apuntes! Gracias! ¿Como pegas una imagen en los aportes? Me gustaría también captura de mi codigo. Gracias!
Les comparto mis apuntes:
Python tiene un conjunto de métodos integrados que pueden ser usar en los diccionarios:
clear() --> Elimina todos los elementos del diccionario
copy() --> Devuelve una copia del diccionario
fromkeys() --> Devuelve un diccionario con las claves y el valor especificados
get() --> Devuelve el valor de la clave especificada
items() --> Devuelve una lista que contiene una tupla para cada par de valores clave
keys() --> Devuelve una lista que contiene las claves del diccionario
pop() --> Elimina el elemento con la clave especificada
popitem() --> Elimina el último par clave-valor insertado
setdefault() --> Devuelve el valor de la clave especificada. Si la clave no existe: inserte la clave, con el valor especificado
update() --> Actualiza el diccionario con los pares clave-valor especificados
values() --> Devuelve una lista de todos los valores en el diccionario
Principales características:
Un diccionario es una estructura de datos que permite asociar una clave a un valor.
Los índices en los diccionarios pueden ser de casi cualquier tipo en Python.
Los diccionarios son estructuras de datos mutables (agregar, modificar, eliminar)los elementos en tiempo de ejecución.
Se puede acceder a los valores solo a través de las claves, no de los índices.
Las claves en los diccionarios deben ser únicas no se pueden tener dos elementos con la misma clave en un diccionario.
Formato más agradable con biblioteca json
import json
person ={'name':"bla bla bla",'las_name':'Nicolas','langs':['python','javascript'],'age':87}print(json.dumps(person, indent=1))
Awesome!
Hola PlatziNautas Comparto el ejercicio realizado en clase
yo solo vi una dupla en el de items y porque era una dupla,el resto lo mostraba normal.
Sí imprime todo como tuplas, intenta observar de nuevo Uu.
#dentro de un diccionario se pueden tener varios tipos de datos
person ={'name':'nico','last_name':'molina','langs':['python','javascript'],'age':99}print(person)# ['nombre de la propiedad'] con esto podemos modificar el valor del objeto
person['name']='santi'# -=50 se utilizo para restarte al valor de la edad
person['age']-=50# .append se le agrega al array para que este agrege en el ultimo lugar
person['langs'].append('rust')print(person)
# del se utiliza para borrar lo que querramos
del person['last_name']# .pop se utiliza para eliminar algo puntualmente a diferencia de en las listas
person.pop('age')print(person)# items nos envia los datos en tuplas, fraccionados segun los tengamos organizados
print('items')print(person.items())
#keys nos devuelve los atributos principales
print('keys')print(person.keys())
#values solo devuelve los valores que hay
print('values')print(person.values())
También se puede hacer un loop dentro del diccionario para imprimir los valores:
for items in persons. items ():
print (items)
for values in persons. values ():
print (values)
for keys in persons. keys ():
print (keys)
Una consulta quiero realizar este programa que elimine la clave que contenga la edad mayor a 25, pero sale error, podrían ayudarme.
Crear un diccionario
edades = {'Alice': 25, 'Bob': 30, 'Carol': 22}
Buscar el primer estudiante mayor de 25 años y eliminar
for nombre, edad in edades.items():
if edad > 25:
del edades[nombre]
print(edades)
Por que el metodo keys, solo devolvio name y langs y no age y lastname?