J'utilise la compréhension de liste pour une dict imbriquée recherchant les valeurs pour les clés "flow" qui apparaissent dans certains dict mais pas dans tous (dans l'exemple " DE "et" CH ", mais pas" FR "). S'il n'existe pas, il devrait ignorer cette dictée et passer au dict suivant.Trouver la valeur de la clé dans Dict imbriqué dans la compréhension de la liste si la clé est disponible
Mes données:
dict_country_data =
{"DE":
{
"location":
"europe",
"country_code":
"DE",
"color":
{"body": 37647, "wheels": 37863},
"size":
{"extras": 40138},
"flow":
{"abc": 3845, "cdf": 3844}
},
"FR":
{"location": "europe",
"country_code": "FR",
"color":
{"body": 219107, "wheels": 39197},
"size":
{"extras": 3520}
},
"CH":
{"location": "europe",
"country_code": "CH",
"color": {"wheels": 39918},
"size":
{"extras": 206275},
"flow":
{"klm": 799, "sas": 810}
}
}
Ma tentative:
[dict_country_data[k]["flow"].values() if dict_country_data[k]["flow"].keys() else None for k,v in dict_country_data.items()]
Cependant, en dépit de l'instruction if, Python déclenche une NamError (NameError: ne définit pas le nom 'flux').
Mon aspiraient sortie:
[3845, 3844, 799, 810]
Merci de votre patience et serviabilité.