как в словарь добавить следующие поля?
Нужно в словарь person поместить 'tag' и 'similarity' не совсем понимаю как это сделать. persons = []
{'body': {'objects': [{'name': 'file_0',
'persons': [{'age': 25,
'arousal': 0.2795,
'awesomeness': 0.515,
'confidence': 0.99998,
'coord': [210, 0, 486, 333],
'emotion': 'Contempt',
'frontality': 0.9711,
'sex': 'male',
'similarity': 0.9966,
'tag': 'person53281',
'valence': -0.3675,
'visibility': 0.9995}],
'status': 0}]},
'htmlencoded': False,
'last_modified': 0,
'status': 200}
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Начните с понятного форматирования структуры ваших данных:
from pprint import pprint
data = {'status': 200, 'body': {'objects': [{'status': 0, 'name': 'file_0', 'persons': [{'tag': 'person53281', 'coord': [210, 0, 486, 333], 'confidence': 0.99998, 'awesomeness': 0.515, 'similarity': 0.9966, 'sex': 'male', 'emotion': 'Contempt', 'age': 25, 'valence': -0.3675, 'arousal': 0.2795, 'frontality': 0.9711, 'visibility': 0.9995}]}]}, 'htmlencoded': False, 'last_modified': 0}
pprint(data)
Вывод:
{'body': {'objects': [{'name': 'file_0',
'persons': [{'age': 25,
'arousal': 0.2795,
'awesomeness': 0.515,
'confidence': 0.99998,
'coord': [210, 0, 486, 333],
'emotion': 'Contempt',
'frontality': 0.9711,
'sex': 'male',
'similarity': 0.9966,
'tag': 'person53281',
'valence': -0.3675,
'visibility': 0.9995}],
'status': 0}]},
'htmlencoded': False,
'last_modified': 0,
'status': 200}
Так уже гораздо понятнее, что где находится. То, что с одинаковым отступом - находится на одинаковом уровне вложенности. {...} - словари, доступ по ключу, [...] - списки, доступ по индексу.
А дальше идёте сверху вниз, пока не доберётесь до нужного уровня. Начиная от data['body'], а дальше уж вы сами разберитесь, это полезно.