Diccionarios de Python y JSON

2020-08-01 13:14:30 | #programming #python | Parte 4 de 7

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.

  1. Agregar una clave a un diccionario usando Python

    Entrada: {'llave1': 'Valor 1'}

    Rendimiento esperado: {'llave1': 'Valor 1', 'llave2': 'Valor 2'}

    Inténtalo Tú Mismo


     
              
  2. Devuelve una lista que contiene las claves de un diccionario usando Python

    Entrada: {'llave1': 'Valor 1', 'llave2': 'Valor 2'}

    Rendimiento esperado: ['llave1', 'llave2']

    Inténtalo Tú Mismo


     
              
  3. 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']

    Inténtalo Tú Mismo


     
              
  4. 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}]

    Inténtalo Tú Mismo


     
              
  5. 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}]

    Inténtalo Tú Mismo


     
              

¿Quieres ver más ejercicios?

Ver Ejercicios

Commentarios

Debes iniciar sesión para comentar. ¿No tienes una cuenta? Registrate gratis.

Subscribe to comments for this post

Regístrese para recibir más contenido gratuito

¿Le gustaría recibir recursos gratuitos, diseñados para ayudarlo a alcanzar sus objetivos de TI? Empiece ahora y deje su dirección de correo electrónico a continuación. Prometemos no hacer spam. También puede registrarse para obtener una cuenta gratuita o seguirnos en e interactuar con la comunidad. Puede optar por no participar en cualquier momento.



Háblanos de tu Proyecto









Contacta Con Nosotras

¿Tiene un problema de TI específico que necesita solución o simplemente tiene una pregunta general de TI? Utilice el formulario de contacto para ponerse en contacto con nosotros y un profesional de TI estará con usted en un momento.

Contratanos

Ofrecemos desarrollo web, desarrollo de software empresarial, control de calidad y pruebas, google analytics, dominios y hosting, bases de datos, seguridad, consultoría de TI y otros servicios relacionados con TI.

Tutoriales de TI gratuitos

Dirígete a nuestra sección tutoriales para aprender todo sobre cómo trabajar con soluciones de TI.

Contacto