in spinup/utils/run_utils.py [0:0]
def _variants(self, keys, vals):
"""
Recursively builds list of valid variants.
"""
if len(keys)==1:
pre_variants = [dict()]
else:
pre_variants = self._variants(keys[1:], vals[1:])
variants = []
for val in vals[0]:
for pre_v in pre_variants:
v = {}
v[keys[0]] = val
v.update(pre_v)
variants.append(v)
return variants