0

I have a list of dictionaries of dictionaries

Here is a Sample (JSON form):

[
    {
        "lineID": 26, 
        "name": "A", 
        "stations": [
            {
                "name": "La Poya", 
                "sens1": 1617, 
                "sens2": 1624
            }, 
            {
                "name": "Charles Michels", 
                "sens1": 1598, 
                "sens2": 1597
            }, 
            {
                "name": "Fontaine - Hôtel de Ville - La Source", 
                "sens1": 1596, 
                "sens2": 1595
            } 
        ]
    }, 
    {
        "lineID": 27, 
        "name": "B", 
        "stations": [
            {
                "name": "Cité Internationale", 
                "sens1": 2148, 
                "sens2": 2147
            }, 
            {
                "name": "Palais de Justice", 
                "sens1": 2139, 
                "sens2": 2138
            } 
        ]
    }
]

I'd retrieve a list of all 2nd level dict value where the key is name. I already tried something from a similar question I already asked. But it doesn't work.

Any idea how to do this without writing multiple for loops.

Community
  • 1
  • 1
Matthieu Riegler
  • 31,918
  • 20
  • 95
  • 134

1 Answers1

0

The following code work for me :

[d['name'] for lst in myJson for d in lst['stations']]

myJson is my List of dict of dict.

Matthieu Riegler
  • 31,918
  • 20
  • 95
  • 134