Как уже было сказано, для этого вы можете использовать itertools.product
.
Но у вас всего два списка, вы также можете просто использовать два цикла for
:
> d = { f'C{i+1}': {'G1':g1e, 'G2':g2e}
for i, (g1e, g2e) in
enumerate((g1e, g2e) for g1e in thisdict['G1']
for g2e in thisdict['G2']) }
> d
{'C1': {'G1': 10, 'G2': 12},
'C2': {'G1': 10, 'G2': 13},
'C3': {'G1': 20, 'G2': 12},
'C4': {'G1': 20, 'G2': 13}}
NB : Я использовал формат, запрошенный в комментарии к другому ответу.