es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tratando de obtener todos los valores en un diccionario

Estoy obteniendo datos de PokeAPI, pero si el atributo tiene más de un valor como abilities y stats, solo obtengo el último.

dic_abi = {} # lógica para habilidades
for i in lista['abilities']:
    dic_abi = i['ability']['name']

contexto = {
    'ID': lista['id'],
    'Nombre': lista['name'],
    'Tipo': lista['types'],
    'Peso': lista['weight'],
    'Altura': lista['height'],
    'Habilidades': dic_abi, # más de un valor
    'Estadísticas': lista['stats'] # más de un valor
}

JSON que estoy tratando de obtener:

{"abilities":[{"ability":{"name":"electricidad","url":"https://pokeapi.co/api/v2/ability/9/"},"is_hidden":false,"slot":1},{"ability":{"name":"pararrayos" ........
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Hay un par de formas de manejar la obtención de todos los valores para atributos como abilities y stats con la PokeAPI. Una opción es usar una comprensión de lista para crear una lista de todos los valores para cada atributo. Por ejemplo:

    abilities = [ability['ability']['name'] for ability in lista['abilities']]
    stats = [stat['base_stat'] for stat in lista['stats']]
    

    Esto creará una lista con todos los nombres de habilidades y una lista con todas las estadísticas base del Pokémon.

    Luego, puedes agregar estas listas al diccionario contexto:

    contexto = {
        'ID': lista['id'],
        'Nombre': lista['name'],
        'Tipo': lista['types'],
        'Peso': lista['weight'],
        'Altura': lista['height'],
        'Habilidades': abilities,
        'Estadísticas': stats
    }
    

    Ahora, cuando obtengas datos de la PokeAPI para un Pokémon, obtendrás un diccionario que incluye todos los valores de los atributos abilities y stats.

Comments are closed.