No tienes acceso a esta clase

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

Diccionarios: inserción y actualización

31/38
Recursos

Aportes 78

Preguntas 12

Ordenar por:

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

Aqui les dejo un link por si quieren ver otros metodos de los diccionarios

https://www.w3schools.com/python/python_dictionaries_methods.asp

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.

Les compato un json de harry potter que sirve como diccionario.

https://github.com/Laboratoria/LIM011-data-lovers/blob/master/src/data/potter/potter.json

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
    } 

El json tiene más datos.

Que maravilla que son los diccionarios, las listas y las tuplas. Es aquí cuando comienza todo.

print("--- "*5)
person= {
  'name': 'Camilo',
  'last_name': 'Rico',
  'langs': ['python', 'javascript'],
  'age': 99
}

print(person)

person['name']='Camilo Andres'
person['age']-=50
person['langs'].append('rust')
print(person)
del person['last_name']
person.pop('age')
print(person)


print(person.items())
print(person.keys())
print(person.values())
print(person.clear())

Mi aporte, mi diccionario se alimenta de inputs.


#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.

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"] += 20
print(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)

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:

  1. Un diccionario es una estructura de datos que permite asociar una clave a un valor.
  2. Los índices en los diccionarios pueden ser de casi cualquier tipo en Python.
  3. Los diccionarios son estructuras de datos mutables (agregar, modificar, eliminar)los elementos en tiempo de ejecución.
  4. Se puede acceder a los valores solo a través de las claves, no de los índices.
  5. 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))

Hola PlatziNautas Comparto el ejercicio realizado en clase

#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)

Les comparto mi codigo con # NOTAS :) ```python # Diccionario ''' inserción y actualización ''' person = { 'name': 'nico', 'last_name': 'molina', 'langs': ['python', 'javascript'], 'age': 99 } print(person) person['city']= 'Cali' # agrego item al diccionario print(person) person['name'] = 'santi' # cambio variable string person['age'] -= 50 # modifico valor de age directamente como numerico person['langs'].append('rust') # agrego elemento a lista langs print(person) del person['last_name'] # elimino elemento de diccionario # el metodo pop en diccionarios debe recibir valor person.pop('age') # quito elemento de diccionario # person.pop() # vacio no sirve para diccionarios. print(person) print('items') print(person.items()) print('keys') print(person.keys()) print('values') print(person.values()) ```*# Diccionario'''inserción y actualización* *'''*person = { 'name': 'nico', 'last\_name': 'molina', 'langs': \['python', 'javascript'], 'age': 99} print(person) person\['city']= 'Cali' *# agrego item al diccionario*print(person) person\['name'] = 'santi' *# cambio variable string*person\['age'] -= 50 *# modifico valor de age directamente como numerico*person\['langs'].append('rust') *# agrego elemento a lista langs*print(person) del person\['last\_name'] *# elimino elemento de diccionario# el metodo pop en diccionarios debe recibir valor*person.pop('age') *# quito elemento de diccionario# person.pop() # vacio no sirve para diccionarios.* print(person) print('items')print(person.items()) print('keys')print(person.keys()) print('values')print(person.values())
Interesante los últimos métodos de los diccionarios, me ha gustado esta clase.

pop: Siempre te va a devolver el elemento eliminado. Solo se puede utilizar en listas.
del: Este no devuleve nada. Se puede utilizar con objetos mutables.

my_dict ={}
print(type(my_dict))

my_dict = {
‘avion’: ‘vuela vuelaaaaaa’,
‘name’:‘Viviana’,
‘last_name’: ‘Isa’,
‘age’: 73
}
print(my_dict)
#elementos de ese diccionario
print(len(my_dict))
#pregunto directamente por los datos
print(my_dict[‘age’])
print(my_dict[‘name’])
print(my_dict.get(‘last_name’))
print('avion’in my_dict)
print('sssss’in my_dict)

person = {
  'name': 'Karen',
  'last_name': 'Gomez',
  'langs': ['python','javascript'],
  'age': 24
}

print(person)
#Actualizacion
person['name'] = 'Andrea'
person['age'] -= 2
#Agregar valor
person['langs'].append('rust')
print(person)

#metodos para eliminar
del person['last_name']
person.pop('age')
print(person)

#obtener items
print('items')
print(person.items())

#keys
print('keys')
print(person.keys())

#values
print('values')
print(person.values())

Acceso a los elementos de un diccionario con los atributos: .items() .keys() .values()

""" Dictionary v2 """
person = {
  "name": "Regulus",
  "last_name": "Novachrono",
  "lang": ["python", "java", "SQL"],
  "age": 38,
  "skills": ["math", "logic", "english", "good guy"],
  100: True
}
print("person =", person)
print('person["name"] = "Isla"')
person["name"] = "Isla"
print("person =", person)
print("-" * 35)

print('person["age"] += 5')
person["age"] += 5
print("person =", person)
print("-" * 35)

print("person['lang'].append('c++')")
person["lang"].append("c++")
print("person =", person)
print("-" * 35)

print('del person[100]')
del person[100]
print("person =", person)
print("-" * 35)

print("person.pop('last_name')")
person.pop('last_name')
print("person =", person)
print("-" * 35)

# keys values items
things = {
  "name": "Dolores",
  "last_name": "Crimson",
  "age": 24
}
print("things =", things)
print("things.keys() =>", things.keys())
print("things.values() =>", things.values())
print("things.items() =>", things.items())
En Python, cuando usas el método `values()` en un diccionario, obtienes un objeto de tipo `dict_values`. Este objeto contiene todos los valores del diccionario, pero no es una lista, lo que significa que no puedes usar directamente índices como en una lista. Puedes convertirlo a una lista usando `list()` si necesitas trabajar con los valores como una lista. Ejemplo: ```python mi_diccionario = {'nombre': 'Santi', 'edad': 49} valores = list(mi_diccionario.values()) print(valores) # ['Santi', 49] ``` Esto es útil para iterar sobre los valores o realizar otras operaciones.
Los diccionarios en Python son mutables, lo que significa que puedes modificar su contenido después de haberlos creado. Esto incluye agregar, actualizar o eliminar pares clave-valor. En el contexto de la clase, el maestro demostró cómo actualizar un nombre y eliminar un apellido de un diccionario. La mutabilidad es una característica clave de los diccionarios, permitiendo flexibilidad para representar y manipular datos.
<u>hola, porque al hacer person.values, devuelve una lista dentro de otra lista dejando solo santi afuera??</u>
Les comparto el diccionario que creé porque me gustó: ```js character = { 'name': 'Monkey', 'last_name': 'D. Luffy', 'pseudonym': ['Mugiwara', 'Fifthe Emperor', 'Joy Boy' ], 'race': 'human', 'affiliations': [ 'Dadan Family (formerly)', 'Straw Hat Pirates', 'Straw Hat Grand Fleet', 'Ninja-Pirate-Mink-Samurai Alliance (dissolved)', 'The Four Emperors' ], 'bounties': { 'First (Belly)': 30000000, 'Second (Belly)': 100000000, 'Third (Belly)': 300000000, 'Fourth (Belly)': 400000000, 'Fifth (Belly)': 500000000, 'Sixth (Belly)': 1500000000, 'Current (Belly)': 3000000000, }, 'age': 17, 'height (cm)': 172 } ```
Consejos útiles para trabajar con diccionarios: **Usa las claves de manera efectiva:** Las claves de los diccionarios deben ser inmutables. Puedes usar tipos de datos como números, cadenas y tuplas como claves de diccionario. **Evita las búsquedas de claves que no existen:** Antes de acceder a una clave, asegúrate de que exista en el diccionario. Puedes usar el método get() que devuelve None si la clave no existe, o puedes verificar la existencia de la clave con el operador in. \# Usando get() valor = diccionario.get("clave\_no\_existente") \# Usando 'in' if "clave\_no\_existente" in diccionario:     valor = diccionario\["clave\_no\_existente"] **Itera de manera eficiente sobre los diccionarios:** Puedes iterar sobre las claves, valores o pares clave-valor de un diccionario de manera eficiente utilizando los métodos keys(), values() e items(). for clave, valor in diccionario.items():     print(f"Clave: {clave}, Valor: {valor}")
La clase estuvo muy interesante ```python # Aqui mis apuntes de la clase person = { 'name': 'Jeisson', 'last_name': 'Murcia', 'languages': ['English', 'Spanish', 'French'], 'age': 23 } print(person) # Para cambiar el valor del nombre en el diccionario person['name'] = 'Fabian' print('Change =>', person) # Puedo cambiar un valor actual, como el de la edad person['age'] -= 2 print('Age changed =>', person) # Dentro del diccionario hay una lista, puedo agregar un nuevo elemento a la lista person['languages'].append('Japanese') print('Languages added =>', person) # Puedo eliminar un dato o atributo del person['languages'] print('Languages deleted =>', person) person.pop('age') print('Segundo metodo de eliminacion =>', person) ``` Me confunde un poco la diferencia de ***del y pop***
De esta lección me quedo con algunas cosas. Para cambiar el valor de un diccionario se hace con la estructura ```js person['name'] = 'Fabian' print('Change =>', person) ```Se puede cambiar un valor actual, y me llamó la atención la estructura -= *número,* en donde se hace una resta a la variable edad. Se puede igualmente emplear el mismo método de .append, que es hacer la apertura de un nuevo dato. Y en los diccionarios, para eliminar algún dato se hace de dos formas ```js # Primer método del person['languages'].append('Japanese') # Segundo método person.pop('age') ```
Vi esto en <https://www.w3schools.com/python/python_dictionaries.asp> y me pareció muy útil para tener en cuenta lo visto hasta este punto del curso. En cuanto a colecciones de datos, tenemos: 1. Listas: Es una colección ordenada y modificable.Permite miembros/elementos duplicados. 2. Tuplas: es una colección ordenada e inmutable.Permite miembros/elementos duplicados. 3. Diccionarios: es una colección ordenada y modificable.No hay miembros/elementos duplicados.
Al hacer operacion con el diccionario pedi un listado de items y esto me muesta en mi ejemplo: dict\_items(\[('brand', 'Ford'), ('electric?', False), ('year', 1964), ('colors', \['red', 'white', 'blue', 'eliminar'])]) Como verán ya puedes observar el dicionario, pero este metodo lo muestra como una Tupla general que contiene un listado de Tuplas, pero al final del listado de tupals encontramaos una tupla con un par de calve: valor donde l su valor es otra lista. Algo asi como: dict \[ ( \[ (c0 : v1 ), (c1 : v1 ), (c 2: v1 ), ( c 3: \[ v1, v2, v3 ] ) ] )] Ahora en teoria no se puede cambiar las tuplas, peo al pareceer se puede acceder a ellas para elinar un valor, debe ser por los metodos del diccionario que de manera global tiene esa opcion sobre sus elementos, ya sean listas, tuplas. \#Eliminar el último valor c3:v3 print(dicc\["c3"].remove("v3"))
<#Arrais dentro del diccionario []
person = {
  'name': 'nico',
  'last_name': 'molina',
  'langs': ['python', 'javascript'],
  'age': 99
}

print(person)

#Actualizacion de elementos dentro del diccionario
person['name'] = 'santi'
#Ajustes sobre el valor actual
person['age'] -= 50
#Agregar un elemento al array
person['langs'].append('rust') #el metodo se aplica sobre el array 'langs' dentro del diccionario 'person'
print(person)

#Eliminar elemtnos del diccionario
del person['last_name']
person.pop('age') #se debe envia la llave que se quiere eliminar
print(person)

#Obtener los items del diccionario
print('items')
print(person.items()) #devuelve listas con la clave y el valor

print('keys')
print(person.keys()) #devuelve una lista con solo con los atributos

print('values') #devuelve una lista solo de los valores 
print(person.values())> 
\# Apuntes de Clase sobre Diccionarios en Python: Inserción y Actualización 📚✨ Los diccionarios en Python son estructuras de datos que permiten almacenar pares de clave-valor. Son increíblemente versátiles y eficientes para acceder a elementos, actualizarlos y realizar diversas operaciones. En estos apuntes, profundizaremos en cómo insertar y actualizar elementos en un diccionario, acompañados de ejemplos prácticos y complejos, manteniendo un tono formal pero dinámico con el uso adecuado de emojis. 🚀 \## Creación de un Diccionario 🛠 Antes de insertar o actualizar, necesitamos un diccionario. La creación es sencilla: ```python mi\_diccionario = {} # Diccionario vacío otro\_diccionario = {'nombre': 'Ana', 'edad': 25} # Diccionario con elementos ``` \## Inserción de Elementos 📌 Para insertar un nuevo par clave-valor en un diccionario existente, simplemente asigna un valor a una nueva clave: ```python mi\_diccionario\['nuevoElemento'] = 'Valor' print(mi\_diccionario) # {'nuevoElemento': 'Valor'} ``` \### Ejemplo Práctico Complejo 🎓 Imagina que estás gestionando información sobre libros en una biblioteca. Quieres agregar un nuevo libro con varios detalles: ```python biblioteca = { '001': {'titulo': 'Cien años de soledad', 'autor': 'Gabriel García Márquez', 'año': 1967}, '002': {'titulo': 'La sombra del viento', 'autor': 'Carlos Ruiz Zafón', 'año': 2001} } \# Insertamos un nuevo libro biblioteca\['003'] = {'titulo': 'El nombre del viento', 'autor': 'Patrick Rothfuss', 'año': 2007} print(biblioteca\['003']) # {'titulo': 'El nombre del viento', 'autor': 'Patrick Rothfuss', 'año': 2007} ``` Este ejemplo muestra cómo podemos estructurar información compleja y relacionada dentro de un diccionario, facilitando su acceso y manipulación. \## Actualización de Elementos 🔄 Actualizar un elemento en un diccionario es tan simple como insertar un nuevo elemento. Si la clave ya existe, Python reemplaza el valor anterior con el nuevo valor asignado: ```python mi\_diccionario\['nuevoElemento'] = 'Nuevo Valor' print(mi\_diccionario) # {'nuevoElemento': 'Nuevo Valor'} ``` \### Ejemplo Práctico Complejo 🎓 Siguiendo con nuestro ejemplo de la biblioteca, supongamos que queremos actualizar el año de publicación de "El nombre del viento": ```python biblioteca\['003']\['año'] = 2008 print(biblioteca\['003']) # {'titulo': 'El nombre del viento', 'autor': 'Patrick Rothfuss', 'año': 2008} ``` Este ejemplo ilustra cómo podemos actualizar información específica dentro de estructuras anidadas, permitiendo mantener nuestra base de datos precisa y actualizada. \## Métodos Útiles para Diccionarios 🧰 Python ofrece varios métodos que facilitan la inserción y actualización en diccionarios: \- \*\*`update()`\*\*: Fusiona un diccionario con otro, actualizando valores para claves existentes y agregando nuevas claves si es necesario. ```python mi\_diccionario.update({'nuevoElemento': 'Actualizado', 'otroElemento': 'Nuevo'}) ``` \- \*\*`setdefault()`\*\*: Inserta un clave-valor solo si la clave no existe ya. ```python mi\_diccionario.setdefault('elementoInexistente', 'Valor Por Defecto') ``` Estos métodos potencian la flexibilidad y eficiencia al trabajar con diccionarios en situaciones complejas. \## Conclusión 🎉 Los diccionarios en Python son herramientas potentes y flexibles para gestionar datos relacionados. La inserción y actualización de elementos son operaciones fundamentales que permiten manipular estos datos de manera eficiente. Con práctica y comprensión, podrás aprovechar al máximo los diccionarios para tus proyectos de programación. ¡Experimenta con los ejemplos proporcionados y ve más allá! 🚀📚
se nota que el profe quiere vivir 99 años 🤣 buena esa Nicolas, yo tambien quiero vivir 100 años 🫠
ejemplo para que hagan anotaciones 1. **Agregar y actualizar elementos:** * `mi_diccionario['nueva_clave'] = nuevo_valor`: Agrega un nuevo par clave-valor. * `mi_diccionario['clave_existente'] = nuevo_valor`: Actualiza el valor de una clave existente. 2. **Eliminar elementos:** * `del mi_diccionario['clave']`: Elimina el elemento con la clave especificada. 3. **Obtener claves, valores y elementos:** * `mi_diccionario.keys()`: Devuelve una lista de claves. * `mi_diccionario.values()`: Devuelve una lista de valores. * `mi_diccionario.items()`: Devuelve una lista de tuplas (clave, valor).

en el video el profesor usó el termino de array y lista como si fueran lo mismo, lo cual es incorrecto.

En verdad era esto lo que trate de hacer ```python certified_VIP_access = ['Bradyn', 'Ellie', 'Victor', 'Jaylah'] user = input("Introduce your name => ") user = user.lower() if user != "juan": user = user.capitalize() user = certified_VIP_access.append(user) print(certified_VIP_access) else: print("You are not welcome here >:(") ```certified\_VIP\_access = \['Bradyn', 'Ellie', 'Victor', 'Jaylah'] user = input("Introduce your name => ") user = user.lower() if user != "juan": user = user.capitalize() user = certified\_VIP\_access.append(user) print(certified\_VIP\_access) else: print("You are not welcome here >:(")
En el ultimo ejemplo de esta clase, se teman únicamente los de la lista actualizada, es decir que no aparecen los valores de los ítems eliminados
No entendí lo de los Keys. hay cosas que no son claras, por lo menos. ¿De dónde sale las palabras; "keys, pop, etc"? Estas palabras y como muchos más, pues para alguien como yo que esta iniciando se le hace complicado, deberían de decirle el significado de cada una de ellas al momento que la escriban.
person = {
    'name': 'John',
    'last_name': 'Doe',
    'age': 30,
    'city': 'New York',
    'country': 'USA',
    'langs':['Python', 'JavaScript', 'Go']
}

print(person)

print()
person['name'] = 'Jane'
person['age'] -= 4
person['langs'].append('C')
print(person)

print()
del person['last_name']
person.pop('age')
print(person)

print()
print('ITEMS')
print(person.items())
print()
print('KEYS')
print(person.keys())
print()
print('VALUES')
print(person.values())

print()
index = person["langs"].index("JavaScript")
person["langs"].pop(index)
print(person)
lo siento mucho yo también soy colombiano y llegue hasta aquí porque no hay mas básico de python bueno yo no lo encuentro pero este señor sabe mucho pero no tiene lo mas importante carisma y don para enseñar que aburrimiento la verdad
un modulo completo wow

No sabia que los diccionarios tiene crud. Ahora si estoy emocionado de aplicarlo en la practica.

super_list = [
        {'firtname': 'Alex','lastname': 'gabriela'},
        {'firtname': 'Marcio','lastname': 'de la'},
        {'firtname': 'Alex','lastname': 'gabriela'},
        {'firtname': 'Pepe','lastname': 'Cruz'},
         ]

super_dict = {
    'natural_nums':[1, 2, 3, 4, 5],
    'integer_nums':[-1, -2, -3],
    'floating_nums':[1.1, 2.1, 3.4]}
\#Diccionarios my\_dict = {} print(my\_dict) my\_dict = { 'name':"mi nombre es cristian", 'avion': "bl bla bla", 'edad': "18" } print(my\_dict) print(my\_dict\['edad']) print(my\_dict\['name']) print(my\_dict.get('unvalor')) print('avion'in my\_dict) print('literal' in my\_dict)

Hola les comparto mi codigo comentado

#diccionario
#https://www.programiz.com/python-programming/methods/dictionary

# la siguiente estructura de datos es muy comun
person = {
  'name': 'Luis', #importante las comas para separar los valores del diccionario
  'last_name': 'Bolaños',
  'langs': ['python', 'javascript'],
  'age': 99
}

print( 'diccionario "person" sin modificar: ' , person)

person['name'] = 'santi'
person['age'] -= 50 #hace una resta, el valor que tiene guardado el diccionario (100), menos el valor que le quitas (50)
print('-'*20)
print( 'diccionario "person" resta en edad: ' , person)
person['langs'].append('rust') #al diccionario "person", se le agrega rust, en langs
print('-'*20)
print( 'diccionario "person" con lenguage agregado' , person)
print('-'*20)

del person['last_name'] #elimina last_name
person.pop('age') #el metodo pop, elimina la edad, a pop se le tiene que decir especificamente que llave se quiere eliminar, si no le pones nada en los parentesis te va a mandar un error

print(person)
print('-'*20)

print('items') 
print(person.items()) #devulve el valor en forma de tupla, no puede ser modificado

print('keys') 
print(person.keys()) #devuelve las "llaves" en donde donde guardas los datos, como 'name' o 'lags'

print('values')
print(person.values()) #imprime los valores del diccionario
 

Resumen de la clase 😊💚

pokemon = {
    'nombre': 'Bulbasaur',
    'tipo': ['Planta', 'Veneno'],
    'evolucion': ['Ivasaur', 'Venusaur'],
    'ataques': ['Latigo Cepa', 'Hoja Afilada', 'Hiedra Adormidera'],
    'poder': 70,
    'vida': 100
}
print(pokemon)

#Actualizando el diccionario
pokemon['poder'] += 10
print(pokemon) #'poder': 80
pokemon['ataques'].append('Embestir')
print(pokemon) #'ataques': ['Latigo Cepa', 'Hoja Afilada', 'Hiedra Adormidera', 'Embestir']
del pokemon['ataques'] #Elimina la llave indicada
print(pokemon) 
pokemon.pop('vida') #Elimina la llave indicada
print(pokemon)
pokemon['tipo'].pop(1) #Elimina un elemento especifico de la llave que indiques
print(pokemon)

#devuelve en una lista en pares de tuplas, los pares clave:valor
print(pokemon.items())
#devuleve solo las llaves o atributos del diccionario
print(pokemon.keys())
#devuleve una lista pero solo de los valores
print(pokemon.values())
####

nombre = input('ingresa el nombre del pokemon: ')
tipos = input('introduce el tipo o tipos, si es mas de  uno lo separas por comas: ')
tipos = tipos.split(",")#se crea la lista con delimintador
lugarDeCaptura = input('introduce el lugar donde lo capturaste: ')

##se crea el diccionarios con los datos

datos = {
    'nombre': nombre,
    'tipos':tipos,
    'lugar de captura':lugarDeCaptura
}

print(datos)


##metodos

print(datos.keys())##muestra las llaves
print(datos.items()) ##muestra en tuplas los conjuntos de llave.valor
print(datos.values()) ##muestra solo los valores


ejemplo

if __name__ == '__main__':
    curso = {
    'nombre': '30 días de Python',
    'duración': '20 horas',
    'clases': 100,
    'detalles': {
        'tecnologias': ['Python', 'Flask', 'Django'],
        'calificacion': 5,
    },
    'comentarios': ['¡Excelente curso!', 'Python es poderoso', 'Hola'] }

    print("1. Acceder a los valores de un diccionario...\n\n entre corchetes ['dictionaryname']")

    print(curso['nombre']) 
    print(curso['detalles']) 


    print("\n\n2. Uso de la funcion lambda...\n\nmensaje:")
    coche = {
    'marca': 'Toyota',
    'encender': lambda: print('El coche ha sido encendido')}
    
    coche['encender']()           
    # "El coche ha sido encendido")

Les comparto una funcion para que el print del dictionary tenga un visual ordenado.

import json

def dicFormat(data):
    return  json.dumps(data, indent=2)

person = {
    'name': "MyName",
    'last_name': "MyLastName",
    'langs': ['JavaScript','Python'],
    'age': 100
}
print(person)
print(dicFormat(person))

Si quieren dar un poco de formato con \n pueden hacer un salto de línea como en otros lenguajes. ejemplo

print ('\n', person, '\n')

No se que tanto uso tengan en el desarrollo y por que no se tocaron en este curso. Pero también existe otra estructura llamada Set, se declara con las llaves igual que un diccionario pero almacena solo valores. Esta estructura no esta indexada, ni almacena elementos repetidos.

set = {1,2,3,4,5}

yo estaba intentando imprimir pero puse print donde person me tiraba error ,pero al final de cuenta verifique bien y se corrigio

# Dictionary

person = {
    'name': 'Rocio',
    'Last_name': 'Molina',
    'langs': ['Python', 'JS'],
    'age': 99,
    'carreer': ('ad_empresas', 'accounting'),
    'married': True
}
print(person)

# update dict
person['name'] = 'Rochi'
person['age'] -= 62
person['langs'].append('kotlin')
print(person)

# delete keys  dictionary
del person['Last_name']
person.pop('age')
print(person)

# Dictionary methods https://www.w3schools.com/python/python_dictionaries_methods.asp

print(f'ITEMS \n', person.items())
print(f'KEYS \n', person.keys())
print(f'VALUES \n', person.values())

Que montón de archivos 😅 pero bueno, todo se entiende.

my_dict ={}
print(type(my_dict))

my_dict = {
‘avion’: ‘gshdhjdkflkgl’,
‘name’:‘Jorge’,
‘last_name’: ‘Varas’,
‘age’: 34
}
print(my_dict)
print(len(my_dict))
print(my_dict[‘age’])
print(my_dict[‘name’])
print(my_dict.get(‘last_name’))

persona = {

“nombre”: “camilo”,
“apellido”: “salazar”,
“programacion”: [“python” , “javascript”],
“edad”: 22
}
print(persona)

#Actualizar los nombres y edades con strings y numeros

persona[“nombre”] = "juan"
persona[“edad”] -= 2
print(persona)

#agregar mas elementos

persona[“programacion”].append(“Go”)
print (persona)

#del delete sirve para eliminar registros

del persona [“apellido”]
persona.pop(“age”)

print(persona)

#items nos agrupa la tupla
print(“items”)
print(persona.items())

#devuelve solo las llaves
print(“keys”)
print(persona.keys())

#devuelve los valores
print(“values”)
print(persona.values())

person = {
  'name': 'nico',
  'last_name': 'sanchez',
  'langs': ['python', 'JS'],
  'age': 22
}

print(person)

person['name'] = 'santi'
person['age'] -= 2
person['langs'].append('rust')
print(person)

del person['last_name']
person.pop('age')
print(person)
print('items')
print(person.items())

print('keys')
print(person.keys())

print('values')
print(person.values())

En lo personal, me gusta usar este recurso para ver los diferentes métodos en los diccionarios de python y cómo se usan

Programiz

Se me ocurre que .py trabaja similar a .sh

person={
‘name’: ‘Johnny’,
‘Last_name’: ‘Fernandez’,
‘langs’ : [‘python’, ‘javascript’,‘HTML’],
‘age’ : 52
}
print(person)
person[‘name’] = 'Facundo’
print(person)
person [‘age’] -=20
person[‘langs’].append(‘css’)
print(person)
del person[‘name’]
person.pop (‘age’)
print(person)
print(‘items’)
print(person.items())
print(‘keys’)
print(person.keys())

print(‘values’)
print(person.values())

Diccionarios - inserción

# Sintaxis de corchetes
mi_diccionario = {"nombre": "Juan", "edad": 25}
mi_diccionario["telefono"] = "1234567890"

# Método update()
mi_diccionario = {"nombre": "Juan", "edad": 25}
mi_diccionario.update({"telefono": "1234567890"})

Diccionarios - actualización

# Sintaxis de corchetes
mi_diccionario = {"nombre": "Juan", "edad": 25}
mi_diccionario["edad"] = 30

# Método update()
mi_diccionario = {"nombre": "Juan", "edad": 25}
mi_diccionario.update({"edad": 30})


Excelente, Gracias

datos = {
‘name’: ‘agel’,
‘last_name’: ‘puentes’,
‘lenguajes’: [‘php’, ‘python’],
‘age’: 28,
‘nacionalidad’: ‘venezolana’
}
’’‘
print(datos)
datos[‘name’] = ‘Daniel’
print(datos)
datos[‘age’] += 1
print(datos)
del datos[‘nacionalidad’]
print(datos)
datos.pop(‘age’)
print(datos)
datos[‘lenguajes’].append(‘JS’)
print(datos)
’’’

print(‘items’)
print(datos.items())

print(‘keys’)
print(datos.keys())

print(‘values’)
print(datos.values())

#  Diccionarios: inserción y actualización

person = {
  'name': 'nico',
  'last_name': 'molina',
  'langs': ['python', 'javascript'],
  'age': 99 }
print(person)
print('1-Diccionario: ', type(person))

# actualizar contenido por llaves
person['name'] = 'Tiago'
""" Se le restan -= 50"""
person['age'] -= 50 
"""langs es una lista dentro del diccionario, puedo utilizar el .append() para agregar otro idioma"""
person['langs'].append('rust')
print(person)

# Eliminar un atributo del diccionario person, son del() toda la llave. 
del person['last_name']
"""Eliminar bajo en metodo .pop todo el contenido de la llave, se debe agregar un argumento preciso en los diccionarios"""
person.pop('age')
print('metodo pop y del aplicados: ', person)

# obtener los Items del diccionario:
print('Items del diccionario person: ', person.items())

print('llaves del diccionario person: ', person.keys())

print('Valores del diccionario person: ',person.values())
persona={
    "name": "nico",
    "last_name": "moreno",
    "langs":["English","German","Russian"],
    "edad":20
}
print(persona)

#Actualizacion
persona["name"]="santi"
persona["edad"]-=50
persona["langs"].append("rust")
print(persona)

#Eliminar
del persona["last_name"]
print(persona)
persona.pop("edad")
print(persona)

#Impresion
print(persona.items())
print(persona.keys())
print(persona.values())
person = {
  'name': 'ivan',
  'last_name': 'negrete',
  'langs': ['python', 'javascript'],
  'age': 23
}

print(person)

#Actualizar/cambiar un elemento del diccionario
person['name'] = 'santi'
#Hacer ajustes sobre el valor actual
person['age'] -= 3
#agregar un valor dentro de la lista del diccionario
person['langs'].append('rust')
print(person)

#eliminar un atributo/par de valor dentro del diccionario
del person['last_name']
#otra forma de elimanar un atributo(Se debe elegir la llave a eliminar)
person.pop('age')
print(person)

print('ítems')
print(person.items())

print('keys')
print(person.keys())

print('values')
print(person.values())

Otra forma de insertar una clave y valor en diccionarios:

my_second_dict.setdefault('Single', False)

ahora veo , lo que se refieren los p´rogramas para el wifi del vecino cuando piden diccionarios

  • Los diccionarios son una de las estructuras de datos fundamentales en Python. Se utilizan en muchas partes del lenguaje y se han optimizado bastante con el tiempo.

  • Hay varias formas de combinar dos diccionarios. Sin embargo, la sintaxis es un poco críptica o engorrosa:

2
3
4
5
6
7
8
9
10
11
12
>>> pycon = {2016: "Portland", 2018: "Cleveland"}
>>> europython = {2017: "Rimini", 2018: "Edinburgh", 2019: "Basel"}
 
>>> {**pycon, **europython}
{2016: 'Portland', 2018: 'Edinburgh', 2017: 'Rimini', 2019: 'Basel'}
 
>>> merged = pycon.copy()
>>> for key, value in europython.items():
...     merged[key] = value
...
>>> merged
{2016: 'Portland', 2018: 'Edinburgh', 2017: 'Rimini', 2019: 'Basel'

chulada de clase

person = {
‘name’: ‘edward’,
‘last_name’: ‘mendes’,
‘langs’: [‘python’, ‘javascript’],
‘age’: 99
}