J'utilise une API qui me donne un fichier JSON structuré comme ceci: et j'utilise ce code dans Python pour extraire les données dont j'ai besoin: p> Le problème est que pour l'utiliser, je dois connaître le numéro de l'élément à partir duquel j'explète les données. Mon résultats code> peut avoir une longueur différente à chaque fois, alors ce que je veux faire est de compter le nombre d'éléments dans résultats code> au début, donc je pourrais donc mettre en place un boucle pour extraire des données de chaque élément. p> p>
5 Réponses :
Vous n'avez pas besoin de connaître la longueur du résultat, vous allez bien avec A pour boucle:
for result in z['results']:
# process the results here
Eh bien, en python qui serait z ["résultats"] code>
Si vous voulez avoir la longueur, vous pouvez essayer: mais en python, ce que nous faisons habituellement est: p>
AGH! J'avais environ 3 secondes de retard!
Pour vérifier la longueur de la clé de résultats: mais si vous ne faites que boucler autour d'eux, une boucle est parfaite: p> for result in x["results"]:
print(result["source_link"])
Vous n'avez pas besoin, ni probablement vouloir, de les compter pour boucler sur eux, vous pouvez faire:
u = urllib2.urlopen('myapiurl')
z = json.load(u)
u.close
link = [result['source_link'] for result in z['results']]
title = [result['source_link/_title'] for result in z['results']]
# do something with links/titles lists
peu de pointeurs: p>
résultats code> de la longueur de l'itération. Vous pouvez utiliser pour résultat en z ["résultats"] code>. Li>
-
Liste code> s Démarrer depuis 0 code>. Li>
- Si vous avez besoin de l'index, jetez un coup d'oeil à
énumérer code> . li>
ol>
LEN (Z ["Résultats"]) CODE> est sûrement tout ce dont vous avez besoin? Ça va vous donner la longueur. Mais avecpour code> des boucles de la longueur n'est pas nécessaire, alors utilisez-le simplement.