Estoy usando una API que devuelve datos en formato JSON como ese:

{
    "ABC": {
        "A": {
            "X": "1",
            "Y": "2",
            "Z": "3",
        },
        "B": {
            "X": "4",
            "Y": "5",
            "Z": "6",
        },
        "C": {
            "X": "7",
            "Y": "8",
            "Z": "9",
        }
    }
}

Ahora quiero obtener todos los valores de una clave específica en una lista, en este ejemplo simple para la clave "Y", la lista debería verse así: [2, 5, 8]

¿Cuál es la forma más fácil de lograr esto en Python?

-1
Jannik 22 ago. 2020 a las 12:31

1 respuesta

La mejor respuesta

Abajo

data = {
    "ABC": {
        "A": {
            "X": "1",
            "Y": "2",
            "Z": "3",
        },
        "B": {
            "X": "4",
            "Y": "5",
            "Z": "6",
        },
        "C": {
            "X": "7",
            "Y": "8",
            "Z": "9",
        }
    }
}

def get_val(key):
  return [entry[key] for entry in data['ABC'].values()]
  
print(get_val('Y'))

Salida

['2', '5', '8']
4
balderman 22 ago. 2020 a las 09:53