我想在追加时只向我的json数组添加10个对象,但在这个当前方法中,我最终会追加所有匹配的键/值。
是否有一种优雅的方法来限制仅在for循环中附加10个对象?
for i in jsonData['data']:
response.append({'lat': i['lat'], 'long' : i['long']})
json.dumps(response)
答案 0 :(得分:4)
如果数据是列表,则可以切片:
for i in jsonData['data'][:10]:
response.append({'lat': i['lat'], 'long' : i['long']})
json.dumps(response)
否则,break
计数为10:
for i, v in enumerate(jsonData['data']):
if i == 10:
break
response.append({'lat': v['lat'], 'long' : v['long']})
json.dumps(response)
答案 1 :(得分:0)
如果您不需要json.dumps
所有中间阶段,那么应该这样做:
response = [{'lat': i['lat'], 'long' : i['long']} for i in jsonData['data'][:10]]