Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 访问单字段TicDat表值的最快方法_Python - Fatal编程技术网

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