Diccionarios de Python y JSON
2020-08-01 13:14:30 | | Parte 4 de 7
Verificado En
- Linux Ubuntu 20.04
- Windows 10
- macOS Catalina
Hasta ahora, hemos estado usando valores singulares para representar nuestros datos. Un diccionario de Python es un tipo de datos que nos permite dar a nuestros datos una estructura más compleja.
Ya no estaremos limitados por variables simples como color = 'red'. Más bien, podemos representar un objeto con un diccionario que contiene más información sobre un objeto. Por ejemplo, podemos definir todas las propiedades de una usuario usando un diccionario usuario:
usuario = {
'color_de_pelo': 'rojo',
'color_de_los_ojos': 'verde',
'altura': '165cm',
'nombre': 'Jane',
'apellido': 'Doe',
'años': 27
}
Diccionarios de Python
Un diccionario de Python está formateado con llaves, claves y valores, así:
midict = {
'clave1': 'Valor 1',
'clave2': 'Valor 2',
'clave3': 'Valor 3'
}
Con esta estructura de clave/valores, los diccionarios son mucho más legibles y nos proporcionan una forma más intuitiva de acceder a los valores. Eche un vistazo al siguiente ejemplo, donde definimos un diccionario libro:
Inténtalo Tú Mismo
Como puede ver, accedemos a los valores haciendo referencia al nombre clave del libro. Observe cómo podemos definir nuestros propios nombres de clave personalizados ('titulo', 'autor', etc.). Las claves deben usar el tipo de datos de cadena y podemos agregar tantos como sea necesario. Los valores pueden ser de cualquier tipo de datos. En el ejemplo anterior, tenemos algunos valores de cadena y un valor numérico para paginas. Aquí hay un ejemplo con un valor de lista:
Inténtalo Tú Mismo
Debido a que generos es una lista, tenemos que acceder a cada elemento por su índice. Un diccionario de Python puede incluso contener un diccionario y/o una lista de diccionarios, tan profundo como sea necesario.
Inténtalo Tú Mismo
Incluso podemos representar una colección de libros almacenando varios diccionarios en una lista:
Inténtalo Tú Mismo
Metadatos del Diccionario Python
¿Sabía que puede acceder a la longitud de un diccionario? También puede verificar si un diccionario de Python contiene una clave. Eche un vistazo a los siguientes ejemplos:
Inténtalo Tú Mismo
Modificar un diccionario de Python
También puede modificar, agregar y eliminar de un diccionario, como lo demuestran los siguientes ejemplos:
Inténtalo Tú Mismo
JSON
JSON significa JavaScript Object Notation y es estructuralmente muy similar a los diccionarios de Python. Ambos son legibles por humanos y utilizan pares de valores clave. La principal diferencia es que JSON es una cadena de texto que debe transmitirse entre servidores/programas a través de diferentes lenguajes de programación. Usando el estándar JSON, Java, Python, JavaScript, etc., los programas pueden hablar entre ellos. Python puede usar un Diccionario internamente, convertirlo a JSON y transmitirlo a un programa JavaScript que luego lo convertirá en un Objeto JavaScript.
Para convertir json a un diccionario, podemos usar json.loads() y para convertir un diccionario a json, usamos json.dumps()
import json
libro = {
'titulo': 'Nineteen Eighty-Four',
'autor': 'George Orwell',
'pais': 'Reino Unido',
'paginas': 328,
'generos': ['distopico', 'ficcion politica'],
'editor': {
'nombre': 'Secker & Warburg',
'fecha': '1949-06-08 00:00:00'}
}
json_data = '{ "titulo":"Snow Crash", "autor": "Neal Stephenson"}'
if __name__ == '__main__':
json_libro = json.dumps(libro)
print(json_libro)
dict_libro = json.loads(json_data)
print(dict_libro)
Ejercicios de programación en Python
Resuelva los siguientes problemas, utilizando todo lo que ha aprendido hasta este punto. Siéntase libre de compartir mejores soluciones en los comentarios. Optimice cada solución, tanto como sea posible.
-
Agregar una clave a un diccionario usando Python
Entrada: {'llave1': 'Valor 1'}
Rendimiento esperado: {'llave1': 'Valor 1', 'llave2': 'Valor 2'}
-
Devuelve una lista que contiene las claves de un diccionario usando Python
Entrada: {'llave1': 'Valor 1', 'llave2': 'Valor 2'}
Rendimiento esperado: ['llave1', 'llave2']
-
Devuelve una lista que contiene los valores de un diccionario usando Python
Entrada: {'llave1': 'Valor 1', 'llave2': 'Valor 2'}
Rendimiento esperado: ['Valor 1', 'Valor 2']
-
Escribir una lista de comprensión de Python para convertir una lista de coordenadas de tupla en una lista de diccionarios
Entrada: [(3, 45), (5, 2), (32, 3)]
Rendimiento esperado: [{'x': 3, 'y': 45}, {'x': 5, 'y': 2}, {'x': 32, 'y': 3}]
-
Escriba una lista de comprensión de Python para filtrar una lista de diccionarios por valor. Por ejemplo, en la siguiente lista, extraiga los diccionarios donde x = 5
Entrada: [{'x': 3, 'y': 45}, {'x': 5, 'y': 2}, {'x': 32, 'y': 3}, {'x': 5, 'y': 6}]
Rendimiento esperado: [{'x': 5, 'y': 2}, {'x': 6, 'y': 6}]
Commentarios
Debes iniciar sesión para comentar. ¿No tienes una cuenta? Registrate gratis.
Subscribe to comments for this post
Info