如何在python中限制追加json对象

时间:2017-09-05 12:25:11

标签: python json append

我想在追加时只向我的json数组添加10个对象,但在这个当前方法中,我最终会追加所有匹配的键/值。

是否有一种优雅的方法来限制仅在for循环中附加10个对象?

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

2 个答案:

答案 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]]