【发布时间】:2019-04-26 19:12:20
【问题描述】:
是否可以使用默认的字典文字来创建有序的字典而不是无序的字典?
我想输入复杂的嵌套配置,例如:
config = {
'train': {
'speed': 0.001,
'initial_values': [1, 2, 3]
},
'model': {
...
}
}
还有一个写一堆括号的想法
config = OrderedDict([(
'train', OrderedDict([(
'speed', 0.001), (
'initial_values', [1, 2, 3])]),(
'model', OrderedDict([(
...
绝对不适用。
请不要解释为什么我的愿望不好。
好的,目前我会写一些类似的东西:
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(
...
)
)
【问题讨论】:
-
简而言之,不...但请阅读stackoverflow.com/questions/39980323/… 了解 3.6+ 的功能以及注意事项和更多详细信息。
-
使用 Python 3.6+。
-
“绝对不适用……” 为什么?
-
@RoadRunner 到许多样板代码
标签: python dictionary literals ordereddictionary