Is it possible to make default dict literal to create ordered dicts not unordered ones?
I would like to type complex nested configs like:
config = {
'train': {
'speed': 0.001,
'initial_values': [1, 2, 3]
},
'model': {
...
}
}
and an idea to write a mess of brackets
config = OrderedDict([(
'train', OrderedDict([(
'speed', 0.001), (
'initial_values', [1, 2, 3])]),(
'model', OrderedDict([(
...
is absolutely unaplicable.
Please no phylosophy about why my wish is bad.
Ok, currently I would write somethong like:
def od(*args):
return OrderedDict([(args[i], args[i+1]) for i in range(0, len(args), 2)])
config = od(
'train', od(
'speed', 0.001,
'initial_values', [1, 2, 3]
),
'model', od(
...
)
)