На вход подаются данные в таком формате:
generate_json_loads = [{'idzad': 7175912, 'type': 'answer/single', 'quesh': [{'ID': 'h27238', 'txt': 'да'}, {'ID': '2hrsm7', 'txt': 'нет'}]}, {'idzad': 7175915, 'type': 'answer/single', 'quesh': [{'ID': '2qtj2u', 'txt': 'да'}, {'ID': 'f3ahq9', 'txt': 'нет'}]}, {'idzad': 7175914, 'type': 'answer/single', 'quesh': [{'ID': 'maduqk', 'txt': 'нет'}, {'ID': '3hoqim', 'txt': 'да'}]}, {'idzad': 7175913, 'type': 'answer/single', 'quesh': [{'ID': 'vj1a2k', 'txt': 'нет'}, {'ID': '4cd2ic', 'txt': 'да'}]}]
Я, используя форму подстановки:
generate = []
anc = {'answers':{}}
for task in generate_json_loads:
print(anc)
for var in task['quesh']:
print(var)
i = task['idzad']
anc['answers'][i] = {'id':var['ID'],"@answer_type":task['type']}
generate.append(anc)
Получаю на выходе:
{'answers': {7175912: {'id': '2hrsm7', '@answer_type': 'answer/single'}, 7175915: {'id': 'f3ahq9', '@answer_type': 'answer/single'}, 7175914: {'id': '3hoqim', '@answer_type': 'answer/single'}}}
Но всевозможных комбинаций по формуле 2**i = 16, где 2 это максимальное количество вариантов ответа, а i - количество заданий.
Как мне получить все возможные комбинации в форме выше?