【发布时间】:2021-10-18 20:37:50
【问题描述】:
我有一个表(从 excel 导入)机智要求和子要求的情况,可以这样看:
+-------------+--------+
| Requeriment | Points |
+-------------+--------+
| 1 | |
+-------------+--------+
| 2 | |
+-------------+--------+
| 3 | |
+-------------+--------+
| 3.1 | |
+-------------+--------+
| 3.2 | |
+-------------+--------+
| 3.3 | |
+-------------+--------+
| 4 | |
+-------------+--------+
| 5 | |
+-------------+--------+
| 5.1 | |
+-------------+--------+
| 5.2 | |
+-------------+--------+
| 5.2.1 | |
+-------------+--------+
| 5.2.1.1 | |
+-------------+--------+
| 5.3 | |
+-------------+--------+
| 6 | |
+-------------+--------+
所有需求最大值为'1.0',如果存在需求有子需求的情况,需求值=总和(子需求)/总子需求,它也适用于具有子需求的子需求。
这里我展示了没有子需求的需求是如何评估的
具有子需求的需求将使用一个公式进行评估: 请求点=子请求的总和/子请求的值。值将是这样的:
这个表是这样在字典中转换的:
{requeriments:{
'1':{'points':'', subrequeriments: {}},
'2':{'points':'', subrequeriments: {}},
'3':{'points':'', subrequeriments: {
'3.1':{'points':'', subrequeriments: {} },
'3.2':{'points':'', subrequeriments: {} },
'3.3':{'points':'', subrequeriments: {} }
}
},
'4':{'points':'', subrequeriments: {}},
'5':{'points':'', subrequeriments: {
'5.1':{'points':'', subrequeriments: {} },
'5.2':{'points':'', subrequeriments: {
'5.2.1':{'points':'', subrequeriments: {
'5.2.1.1':{'points':'', subrequeriments: {}
}
}
},
'5.3':{'points':'', subrequeriments: {} }
}
},
'6':{'points':'', subrequeriments: {}}
}
}
最后,我无法找到一个好方法来评估应用函数 requirment value = sum(subrequirments)/total subrequirments 在嵌套子需求中的需求。
您是否知道将其应用于字典的好方法,或者至少将其应用于丢失或桌子的好方法?
【问题讨论】:
-
你能举例说明你的预期输出是什么吗?例如。您希望“5”、“5.1”、“5.2”、“5.2.1”和“5.2.1.1”的值是多少?似乎是一个可以通过递归以非常简单的方式解决的问题,但我并没有完全遵循应该应用什么算法来获取值。
-
请注意,拼写为
requirement而不是requeriment。 -
All requeriment max value is '1.0'不清楚。你能解释一下这是什么意思吗? -
你自己尝试过什么?您显然已经有一些将表格处理成字典的代码?或者您是否也在问如何做到这一点?请专注于一个问题,并与代表您实际处理的数据的数据共享您已经编写的代码。 stackoverflow.com/help/how-to-ask
-
我已经在这篇文章中进行了编辑,您可以看到您的一些疑问的答案。
标签: python list dictionary nested evaluation