INNER CODE UNIT · Python
sub_expand
tskit-dev/tskit · python/benchmark/run.py:97
def sub_expand(context, name, d):
if isinstance(d, dict):
ret = []
for k, v in d.items():
new_context = {**{k: v for k, v in context.items()}, name: k}
for k2, v2 in v.items():
ret += sub_expand(new_context, k2, v2)
return ret
elif isinstance(d, list):
return [
{**{k: v for k, v in context.items()}, name: value} for value in d
]
else:
raise ValueError(f"Invalid parameter type: {type(d)}-{d}")
expanded_params = []
for k, v in params.items():
expanded_params += sub_expand({}, k, v)