我无法将以下代码概括为任意长度的indeces
:
sol = 0
for f_2 in F_2:
if f_2 in A[0]:
fac1 = f(f_2,indeces[0])
for f_1 in F_1:
if f_1 in A[0][f_2][0]:
fac2 = f(f_1,indeces[1])
for f_0 in F_0:
if f_0 in A[0][f_2][0][f_1][0]:
sol += (float(A[0][f_2][0][f_1][0][f_0])/A[0][f_2][0][f_1][1])*fac1*fac2*f_(indeces[-1],f_0)
也许有人有主意。原则上,问题是在循环上迭代。A
是一种树形结构,将[dict,int]
列为节点。你知道吗
在我用
.children
替换...[0]
并用.node_val
替换...[1]
之后,您的代码才开始对我有意义,如果您使用的是具有属性children
和node_val
的适当Node
对象,而不是列表:您可能需要的是一个递归解决方案,类似于此(显然未经测试):
xx
指的是我对你的问题的评论,你的float()
的参数似乎是一个节点,而我应该是一个数字(node_val
?)。你知道吗很快,这里有一个实施方案
希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐