response = {'links': [{'rel': 'self', 'href': 'XXXXXXX'}], 'id': 22, 'attribute_type': 'Number', 'label': 'Type', 'required': True, 'constrained': True, 'order': 2, 'allowed_values': [{'links': [], 'value': 701, 'label': 'Manual', 'order': 1, 'is_default': True, 'is_active': True}, {'links': [], 'value': 702, 'label': 'Automation', 'order': 2, 'is_default': False, 'is_active': True}, {'links': [], 'value': 703, 'label': 'Performance', 'order': 3, 'is_default': False, 'is_active': True}, {'links': [], 'value': 704, 'label': 'Scenario', 'order': 4, 'is_default': False, 'is_active': True}], 'multiple': False, 'data_type': 3, 'searchable': True, 'free_text_search': False, 'search_key': 'type', 'system_field': True, 'original_name': 'Type', 'is_active': True}
поэтому я могу получить идентификатор в ответе как таковой:
for r in response:
if r['label'] == 'Type'
return r['id']
Однако я пытаюсь получить «значение» в списке «allowed_values» в ответе.
'allowed_values': [{'links': [], 'value': 701, 'label': 'Manual', 'order': 1, 'is_default': True, 'is_active': True}, {'links': [], 'value': 702, 'label': 'Automation', 'order': 2, 'is_default': False, 'is_active': True}, {'links': [], 'value': 703, 'label': 'Performance', 'order': 3, 'is_default': False, 'is_active': True}, {'links': [], 'value': 704, 'label': 'Scenario', 'order': 4, 'is_default': False, 'is_active': True}]
Возможно ли это, если да, то как?
Любая помощь приветствуется. Заранее спасибо!
С помощью Антона я этим и воспользовался!
if r.get('allowed_values'):
av = r.get('allowed_values')
for av_values in av:
if av_values['label'] == subvalue:
field_value = av_values['value']
return field_value
Да, чтобы распечатать их, вы можете зациклить понимание списка: for i in values: print i. Ключевым моментом здесь является понимание списка. Они очень мощные! Удачи






Вот где в Python пригодятся списки. Хм, хотя и довольно просто. Я посмотрю, смогу ли я найти обманщика.
values = [i['value'] for i in response['allowed_values']]
print(values) # --> prints[701, 702, 703, 704]
@AntonvBR да, это распечатает 702, 703, 704 и так далее?