Python 访问单字段TicDat表值的最快方法
我的工厂有以下几点Python 访问单字段TicDat表值的最快方法,python,Python,我的工厂有以下几点 solution_schema = TicDatFactory( plan=[["Period"], ["x", "x-plus", "x-minus", "y", "z"]], parameters=[["Parameter"], ["Value"]] ) 我从中创建了一个TicDat,并使用它来存
solution_schema = TicDatFactory(
plan=[["Period"], ["x", "x-plus", "x-minus", "y", "z"]],
parameters=[["Parameter"], ["Value"]]
)
我从中创建了一个TicDat,并使用它来存储优化模型的输出,如下所示(本例中省略了“计划”表的赋值):
我知道将来我可以通过
sln.parameters['Total Cost']['value']
获得'Total Cost'的值。然而,我认为这是笨重的。有没有一种不必输入两次就可以快速访问该值的方法?简单的答案是否定的
较长的答案是指。记住,sln.parameters
它本身就是一个“dict of dict”。因此sln.parameters['Total Cost']
只是一个字典,因此sln.parameters['Total Cost']['Value']
是与sln.parameters['Total Cost']
字典的值项相关联的值。(这有点令人困惑,因为在本例中,sln.parameters['Total Cost']
字典将字符串“Value”
作为键)
这就引出了一个问题:“但是,当我没有指定内部字典的键时,为什么赋值有效呢?”。这在链接中得到了回答。TicDat
对象,除非被冻结,否则会有一些赋值覆盖,以允许它在添加行时表现得更像defaultdict
。在向只有一个数据字段的表中添加/编辑行时,它还具有覆盖以识别正确的目标字段。在你的例子中,后者正在被运用。简短的回答是否定的
较长的答案是指。记住,sln.parameters
它本身就是一个“dict of dict”。因此sln.parameters['Total Cost']
只是一个字典,因此sln.parameters['Total Cost']['Value']
是与sln.parameters['Total Cost']
字典的值项相关联的值。(这有点令人困惑,因为在本例中,sln.parameters['Total Cost']
字典将字符串“Value”
作为键)
这就引出了一个问题:“但是,当我没有指定内部字典的键时,为什么赋值有效呢?”。这在链接中得到了回答。TicDat
对象,除非被冻结,否则会有一些赋值覆盖,以允许它在添加行时表现得更像defaultdict
。在向只有一个数据字段的表中添加/编辑行时,它还具有覆盖以识别正确的目标字段。在您的示例中,正在使用后者
sln = solution_schema.TicDat()
sln.parameters['Total Cost'] = mdl.ObjVal