Если я правильно читать это ваше намерение состоит в том, чтобы сопоставить _id в ответ на его документы. В этом случае вы можете принести вниз все, что вы выше к dict comprehension:
ids = {response['_id'].encode('ascii'): response['docs']
for response in responses['result']}
Это также предполагает, вы имели в виду, чтобы иметь id = {}
вне внешней петли, но я не вижу никакой другой разумной интерпретации.
Если выше не является правильным,
Вы можете использовать collections.defaultdict
import collections # at top level
#then in your loop:
ids = collections.defaultdict(list) #instead of ids = {}
словарь, значение которого по умолчанию будет создана путем вызова инициализации аргумента, в этом случае вызова list()
будет производить пустой список, к которому можно добавить.
Для перемещения словаря вы можете итерации по его items()
for key, val in ids.items():
print(key, val)
Как пройти этот словарь, чтобы проверить, правильно ли оно добавлено? – blackmamba
Это будет совсем другой вопрос, но вы можете перебирать его в цикле for, например 'for key, value in ids.items():' – mhlester