2017-09-05 3 views
0

Je veux seulement ajouter 10 objets à mon tableau json quand j'ajoute, mais dans cette méthode actuelle, je finis par ajouter toutes les clés/valeurs qui correspondent.comment limiter l'ajout d'objets json en python

Existe-t-il une manière élégante de limiter seulement 10 objets à l'intérieur de la boucle for?

for i in jsonData['data']: 
      response.append({'lat': i['lat'], 'long' : i['long']}) 
      json.dumps(response) 
+1

Que diriez-vous de 'if'? –

+0

J'ai essayé ceci: 'pour i dans jsonData ['data'] [: 10]: ...'? – Szabolcs

Répondre

4

Si les données sont une liste, vous pouvez découper:

for i in jsonData['data'][:10]: 
    response.append({'lat': i['lat'], 'long' : i['long']}) 
    json.dumps(response) 

Sinon, break au nombre de 10:

for i, v in enumerate(jsonData['data']): 
    if i == 10: 
     break 
    response.append({'lat': v['lat'], 'long' : v['long']}) 
    json.dumps(response) 
+0

Génial, et très propre! Merci! – adamSmith

0

Si vous n'avez pas besoin de tous json.dumps étapes intermédiaires, alors cela devrait faire:

response = [{'lat': i['lat'], 'long' : i['long']} for i in jsonData['data'][:10]]