Supposons que j'ai un dict:
[1, 2]
Comment puis-je lister les valeurs de toutes les clés de field ? Résultat attendu:
d = {'A': {'field': 1}, 'B': {'field': 2}}
4 Réponses :
[value['field'] for _, value in d.items() if 'field' in value]
Vous pouvez le faire en une seule ligne simplement avec une compréhension de liste comme ceci:
fields = [x["field"] for x in d.values() if 'field' in x.keys()]
J'espère que cela vous aidera :)
Merci! Disons que j'ai un troisième élément, C qui ne contient pas de champ . Comment puis-je «ignorer» cela?
J'ai édité ma réponse pour qu'elle vérifie conditionnellement si elle existe. Si le champ n'existe pas, il l'ignorera simplement.
Utilisez une compréhension de liste comme celle-ci:
>>> d
{'A': {'field': 1}, 'B': {'field': 2}}
>>> [d[e]['field'] for e in d]
[1, 2]
Si vous voulez un code plus clair et lisible que les one-liners:
d = {'A': {'field': 1}, 'B': {'field': 2}}
fields = d.values()
result = []
for val in fields:
result.append(val['field'])
print(result)