J'ai cette
car = {'certificates': [{'exp_date':'1928'}]}
x = car.get("certificates"[0][0])
print(x)
4 Réponses :
Vous devez modifier ceci: à ceci (pas besoin d'utiliser obtenir code>): p> dict code> s est indexé par clé, pas numéro (sauf si la clé est un nombre). Ce que vous faisiez, l'indexation est-elle comme si c'était une liste code>. P> p>
Merci d'avoir répondu, mais c'était un exemple simplifié pour transmettre ce que j'essaie de faire. En réalité, je semer un fichier JSON SO .get () est essentiel autant de fois que les données ne sont pas les mêmes et les valeurs NULL sont renvoyées à l'origine d'une erreur.
Pas besoin d'utiliser Get Ici, vous pouvez simplement utiliser:
1928
Merci d'avoir répondu, mais c'était un exemple simplifié pour transmettre ce que j'essaie de faire. En réalité, je semer un fichier JSON SO .get () est essentiel autant de fois que les données ne sont pas les mêmes et les valeurs NULL sont renvoyées à l'origine d'une erreur.
cela fonctionne: strong>
La fonction Nous pouvons essayer d'obtenir comment la ligne importante de votre code fonctionne étape par étape: p> la bonne façon d'atteindre ce que vous voulez serait: p> La fonction code> obtenez code> ne pose pas d'erreur dans le cas où la touche n'existe pas mais renvoie la valeur par défaut, vous devez donc vous demander à quels cas Vous voulez une erreur et dans laquelle voulez-vous une valeur par défaut p> ce que cela devrait préciser est que dict.get code> attend une clé et une valeur par défaut et renvoie la valeur associée à la clé à partir du dictionnaire s'il existe autrement. (Vous trouvez la documentation de la fonction directement dans Python avec Aide (dict.get) code>)
Car ["Certificats"] [0] ["Exp_Date"] CODE> LI>
car.get ("certificat", [{"exp_date": 0}]) [0] ["exp_date"] code> li>
voiture ["certificat"] [0] .get ("exp_date", 0) code> li>
car.get ("certificat", [{}]) [0] .get ("exp_date", 0) code> li>
ol> car.get ("certificats") [0] ["exp_date"] code> est le plus proche de ce que vous avez écrit mais n'a pas de sens, car Dans le cas où il n'y a pas de certificat car.get ("certificat") code> renvoie Aucun code>, puis vous obtenez une erreur lors de l'évaluation Aucun [0] code >. Donc, avec l'option numéro 1, vous obtenez également une erreur dans ce cas, mais avec un message d'erreur qui est réellement significatif. P> p>
Réponse exceptionnelle! Merci. Passe une bonne journée!
Ceci est une liste
code> dedict code>, afin d'obtenir 1928, vous devez accéder à la dicte interne avecvoiture ["certificats"] [0] ["exp_date "] code>